Go 开发目录结构

栏目: Go · 发布时间: 6年前

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

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

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

/cmd

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

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

/internal

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

/pkg

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

/vendor

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

/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

其他一些依赖的静态资源


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Collective Intelligence

Programming Collective Intelligence

Toby Segaran / O'Reilly Media / 2007-8-26 / USD 39.99

Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the......一起来看看 《Programming Collective Intelligence》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具