Edd*_* R. 8

这里的另一个答案是提倡将每个微服务放入自己的存储库中.可能有正当理由以这种方式拆分,但也可能有同样有效的理由,因为想要将所有内容保存在一个存储库中(这实际上取决于您的项目/环境)

如果您想要一个存储库中的所有代码,您可以 - 您只需要遵循Go的包规则.(这是一个很好的阅读:https://golang.org/doc/code.html#Workspaces)

src
lib1/
-- some.go
-- source.go
lib2/
-- more.go
-- source.go
cmd/
-- microservice1/
   -- main.go
-- microservice2/
   -- anothermain.go
GOPATH~/go
~/go/src/github.com/mybiz/
  -- project/
     <clone repo in here>
cmd/microservice1/main.golib1$GOPATH/src
import "github.com/mybiz/project/lib1"
lib1
package lib1
cmd/microservice1/main.golib1
lib1.CallMe()

我希望这有助于清理Go的目录结构如何工作.