The server name is part of the package name! This is how packages in go work.
Yes, thats true and I won’t object.
So it does not contain a GOPATH like structure, thats fine.
Though then the package to go get is the one that contains your go files. You can not go get empty packages.
As I said earlier, in my company we have no problems using private repositories, as long as we have those git configuration in place I mentioned earlier.
In our code it looks like this:
import "example.com/group/project/package"
It works like a charm.