Go项目布局建议

我们编写的 如果是Go 程序都是简单程序,一般由一个或几个 Go 源码文件组成,而且所有源码文件都在同一个目录中。但是生产环境中运行的实用程序可不会这么简单,通常它们都有着复杂的项目结构布局。弄清楚一个实用 Go 项目的项目布局标准是 Go 开发者走向编写复杂 Go 程序的第一步,也是必经的一步。

但 Go 官方到目前为止也没有给出一个关于 Go 项目布局标准的正式定义。下面我们就说说一般项目中如何布局工程目录结构。下图是一个go Web管理后端项目

在这里插入图片描述

我来解释一下各目录作用:

cmd目录:一般go项目会把main.go文件放在该目录下,cmd下会创建一个目录,这个目录的作用是在go build的时候生成执行文件名称

cmd
└── admin
└── main.go

etc: 存放工程配置文件

doc: 放一些工程文档

script:该目录可以放shell脚本或者工程的makefile文件

server: 工程业务逻辑代码全部存放在该目录下

sql: 存放工程的sql文件,如果是工程比较大尤其是微服务化,也会把sql文件单独放在一个仓库,这样方便跟踪整个sql对库表的改动。

tools: 工程里的一些工具代码放到该目录下

工程里一些重要的文件:

changelog: 每当版本发布前,需要把: 配置变更,数据库变更,功能变更记录在该文件

Dockefile: 镜像打包文件

Makefile : make编译一般C++开发同学可能用的比较多,其实对于大型工程,尤其是工程需要加入cicd来完成自动化构建和发布,可以把这些功能放到makefile里完成。

当然对go工程项目不同,大小不同布局也可能是有所不同的,这个可以根据实际需求来定,下面是一个go标准布局参考 :https://github.com/golang-standards/project-layout

更多知识可来:https://wx.zsxq.com/dweb2/index/group/28885848155511

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值