关于 Go 项目的工程化

最近在折腾 Go 看了很多业界的 Go 项目

例如 https://github.com/go-ggz/ggz

想请教各位 你们的 Go 项目是怎么做工程化的

例如项目目录结构 ?

依赖管理用什么

数据库连接用什么包

路由用什么

监控用什么方案

日志用什么包

阅读 6k
3 个回答

拿你列的 ggz 来学习就很好,该项目的目录和文件就告知了我们一切:

  • go.mod 写明了用的是go modules管理依赖包,并且该项目用到了哪些优秀的包;
  • Makefile 写明了怎么构建编译二进制执行文件,包括 Docker 镜像;
  • .env.example 写明了用的是.env的配置管理方式;
  • docker-compose.yml 写明了 Docker 容器编排;
  • cmd 目录是 main 入口;
  • docker 目录里存放的是Dockerfile

所以,我们也就可以很清晰的学习一个 Go 项目该如何去组织、构建、发布了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题