在实际的项目中发现大家的目录结构都比较凌乱,基本每个人都有每个人的风格,一个项目在不断地变大,一些新的文件或目录又不断地被添加进来,从这里面去找到自己需要的信息的成本越来越高,一个统一的通用的目录结构非常有必要。

以下内容来自于github上的这个项目(https://github.com/golang-sta...)

/cmd
/cmd/myapp.go

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

/internal
/internal/myapp//internal/common
/pkg

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

/vendor
glide
/api
Swagger/thrift/protobuf
/web

web服务所需要的静态文件

/configs

配置文件

/init

服务启停脚本

/scripts

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

/build

持续集成目录

/build/package/
/deployments

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

/test

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

/docs

设计文档

/tools
/internal/pkg
/examples

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

/assets

其他一些依赖的静态资源