I did some research including looking at the official doc from google and I can't find a good explanation of what the go_package option is used for. The official doc states the following:
The
.protofile should contain a go_package option specifying the full import path of the Go package that contains the generated code.
I guess what i'm confused with is what they mean by import path. It sounds more like an export path as in where we want to place the generated code? But why would we need this if we can specify the out path during --go_out=? So i'm having trouble grasping why you need to specify an export path in the proto file and at the same time specify an output path in option go_package?