欢迎光临散文网 会员登陆 & 注册

【转载+修改】golang开发目录结构

2021-04-08 18:08 作者:觞翊の泽  | 我要投稿

老三:近期在github上读一些go项目的开源代码,发现项目中很多目录并不能把握其中的主要意义,看的一脸懵。于是找到了下面的内容来帮助解惑


/cmd

main函数文件(比如 /cmd/myapp.go)目录,这个目录下面,每个文件在编译之后都会生成一个可执行的文件。

不要把很多的代码放到这个目录下面,这里面的代码尽可能简单。

/internal

应用程序的封装的代码,某个应用私有的代码放到 /internal/myapp/ 目录下,多个应用通用的公共的代码,放到 /internal/common 之类的目录。

/pkg

一些通用的可以被其他项目所使用的代码,放到这个目录下面

/vendor

项目依赖的其他第三方库,使用 glide 工具来管理依赖

/api

协议文件,Swagger/thrift/protobuf 等

/web

web服务所需要的静态文件

/configs

配置文件

/init

服务启停脚本

/scripts

其他一些脚本,编译、安装、测试、分析等等

/build

持续集成目录

云 (AMI), 容器 (Docker), 操作系统 (deb, rpm, pkg)等的包配置和脚本放到 /build/package/ 目录

/deployments

部署相关的配置文件和模板

/test

其他测试目录,功能测试,性能测试等

/docs

设计文档

/tools

常用的工具和脚本,可以引用 /internal 或者 /pkg 里面的库

/examples

应用程序或者公共库使用的一些例子

/assets

想看更完整的解释,参看如下开源项目:https://github.com/golang-standards/project-layout

有中文版呦~

转载地址:https://studygolang.com/articles/12259?fr=sidebar

【转载+修改】golang开发目录结构的评论 (共 条)

分享到微博请遵守国家法律