基于beego框架的go项目目录结构

原生的go推荐目录是

├─bin
├─pkg
├─src

bin目录放二进制文件,可以是编译后的可执行文件,也可以是安装的第三方命令行,比如beego的命令行工具会安装在bin目录。pkg存放第三方依赖,src存放代码文件。单个项目没什么疑问,就这么存放,主要是有多个项目的时候对新手来说会有点迷糊,就像我,建立了两个项目就像进了迷宫,提交到git上就更乱了,究其原因是把bin目录和pkg目录当做项目源码的一部分了。其实这两个目录是作为公共目录存在的,多个项目公用。src目录下也是可以有多个项目的,每个项目有自己独立的文件夹。

.src\
├─project1
├─project2
├─project3

所以在创建项目和克隆代码时都是在src目录下进行,不能把bin目录和pkg目录提交到git上。

但是beego并没有完全遵循这一原则,它将二进制文件直接编译到了项目源码目录下,或许可配置生成目录,暂时没有了解到,所以需要在.gitignore中排除掉生成的可执行文件,否则提交的时候就比较费时了。