转到 mod 子目录结构

go mod subdirectories structure

我在我的项目中使用了以下结构,但感觉很糟糕

App
├── go.mod
├── app.go
└── src
    └── foo
    |    └── foo.go
    └── bar
        └── bar.go

有没有办法像这样组织它?

App
├── go.mod
└── src
    ├── app.go
    └── foo
    |    └── foo.go
    └── bar
        └── bar.go

您可以将 app.go 文件移动到 src 目录中。

但是,通常不建议在 Go 项目中使用 src 文件夹。我建议您查看 here 以获取关于项目结构的建议。

我喜欢下面的结构

App
├── makefile
├── go.mod
├── httpd <- Entrypoint is here - CLI or Http Server
|   └── main.go
└── platform <- Project specific dependencies that are not shared between projects

例如

App
├── makefile
├── go.mod
├── httpd
|   └── handlers
|   |    └── hello-world_get.go
|   |    └── hello-world_get_test.go
|   └── main.go
└── platform
    └── user
        └── user.go
        └── user_test.go

我在 YouTube 上描述了它 https://youtu.be/zeme_TmXyBk