golang开发目录结构

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

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

/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

其他一些依赖的静态资源

转载请注明出处
本文链接:http://hatlonely.github.io/2018/01/16/golang开发目录结构/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,398评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,931评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,248评论 0 17
  • 搜索我的记忆库,对于我可爱的外公,最深刻的事情有三件。 图片源于网络 1、 小时候住在爷爷家...
    长瑾鹿儿阅读 336评论 2 0
  • 相信不少朋友看到这个标题后心里产生了疑问:思考不就是想事情,分析问题的来源,商量解决方法,解决问题吗?是的,思考的...
    渺渺1234567阅读 246评论 0 0

友情链接更多精彩内容