最近在折腾 Go 看了很多业界的 Go 项目
例如 https://github.com/go-ggz/ggz
想请教各位 你们的 Go 项目是怎么做工程化的
例如项目目录结构 ?
依赖管理用什么
数据库连接用什么包
路由用什么
监控用什么方案
日志用什么包
拿你列的 ggz 来学习就很好,该项目的目录和文件就告知了我们一切:
-
go.mod
写明了用的是go modules
管理依赖包,并且该项目用到了哪些优秀的包; -
Makefile
写明了怎么构建编译二进制执行文件,包括 Docker 镜像; -
.env.example
写明了用的是.env
的配置管理方式; -
docker-compose.yml
写明了 Docker 容器编排; -
cmd
目录是main
入口; -
docker
目录里存放的是Dockerfile
;
所以,我们也就可以很清晰的学习一个 Go 项目该如何去组织、构建、发布了
GitHub 上这个项目总结的不错 https://github.com/golang-sta…
准备用 go-kit + gin
参考GoFrame
建议的工程目录结构:https://goframe.org/start/index
回答
本文地址:H5W3 » 【go】关于 Go 项目的工程化