我是新来的模块,并且正在将它们用于一个新项目中,我试图在此处描述的结构之后对其进行建模
这是我的目录结构的示例:
.
├── cmd
│ └── app_name
│ └── main.go
├── go.mod
├── go.sum
├── internal
│ └── bot
│ └── bot.go
└── pkg
├── website_name
│ ├── client.go
│ ├── client.options.go
│ ├── server.go
│ └── server.options.go
└── lib
└── lib.go
- 这在惯用语上正确吗?我知道那里没有很多共识,但我想遵循最佳实践。
- 当我运行时,
go build
我得到'意外的模块路径“github.com/ragurney/app_name/cmd/app_name”',但是当我运行go build ./...
它时它可以工作。为什么?
当我移动main.go
到顶层时,一切都按预期工作。我不应该将/cmd
模式与模块一起使用吗?