我正处于在Go中创建微服务应用程序的初始阶段,但由于导入路径和目录的处理方式,我不太确定构建项目文件的最佳方法.
通常,该项目在Java中看起来像这样:
|-- gateway_microservice
|-- src
|-- docker
|-- config_microservice
|-- src
|-- docker
|-- recommendation_microservice
|-- src
|-- docker
|-- users_microservice
|-- src
|-- docker
Run Code Online (Sandbox Code Playgroud)
现在如果我在Go中以相同的方式执行它,导入路径会变得有些麻烦:
import (
"fmt"
"github.com/user/myproject/gateway_microservice/src/package1"
"github.com/user/myproject/gateway_microservice/src/package2"
)
Run Code Online (Sandbox Code Playgroud)
另外,我听说惯用的方法是将所有main.go文件放在一个单独的cmd目录中,这增加了混乱.它看起来像这样:
|-- cmd
|-- gateway_microservice
|-- main.go
|-- config_microservice
|-- main.go
|-- recommendation_microservice
|-- main.go
|-- users_microservice
|-- main.go
|-- gateway_microservice
|-- src
|-- docker
|-- config_microservice
|-- src
|-- docker
|-- recommendation_microservice
|-- src
|-- docker
|-- users_microservice
|-- src
|-- docker …Run Code Online (Sandbox Code Playgroud)