Go 语言的项目结构遵循一些约定俗成的最佳实践,这些实践有助于代码的组织、维护和复用。以下是一个标准的 Go 项目结构示例及相关说明:
标准项目结构
my-project/
├── cmd/ # 主应用程序入口
│ └── myapp/ # 可执行文件名称
│ └── main.go # 程序入口点
├── internal/ # 内部模块(不可被外部引用)
│ ├── models/ # 数据模型
│ ├── repositories/ # 数据访问层
│ ├── services/ # 业务逻辑层
│ └── utils/ # 工具函数
├── pkg/ # 公共模块(可被外部引用)
│ ├── api/ # API接口定义
│ └── client/ # 客户端库
├── configs/ # 配置文件模板
├── scripts/ # 脚本文件
├── tests/ # 集成测试
├── docs/ # 文档
├── vendor/ # 依赖包(Go 1.14+ 推荐使用go mod代替)
├── go.mod # 模块依赖定义
├── go.sum # 依赖校验文件
└── Makefile # 构建脚本
2025/7/21...大约 2 分钟