好的项目目录结构规范是有利于写出良好的可读的代码的前提,在近一个月的由运维开发转纯golang开发中,经过不断的代码优化调整和向同事进行不断的请教后,终于在实现几个小闭环项目后,又经过两天的按目录结构规范代码调整后,动手开始写此篇章。此系列将围绕我的研发之旅进行。
当前比较清晰的我在使用的目录结构为:
.
├── cmd
├── config
├── controller
├── db
├── Dockerfile
├── docs
├── .gitignore
├── go.mod
├── go.sum
├── main.go
├── middleware
├── model
├── pkg
├── README.md
├── router
├── scripts
├── service
└── test
12 directories, 6 files
解释
> cmd: 程序初始化
> config: 配置相关
> controller: 服务入口,负责处理路由,参数校验,请求转发。
> db: 数据库配置相关
> docs: swagger接口文档
> middleware: 第三方调用,获取数据
> model: 数据结构
> pkg: 公共组件
> router: 路由
> scripts: 脚本
> service:逻辑(服务)层,处理业务逻辑
> go.mod: 依赖
> Dockerfile: 部署
> main.go: 程序主入口
> README.md: 项目浅析
> test: 测试