Golang编码习惯-项目代码目录结构和脚本文件、目录命名规则

纯属个人习惯总结

 

脚本文件、目录命名规则

全小写,并用(下划线)_分开

muti_function_token.go

 

项目代码目录结构

/cmd 

开发cli程序目录,存放command命令

/cmd/root.go

/cmd/version.go

 

/api

常用来存放RESTful和RPC接口文件

/api/webapi/v1/login.go

/api/webapi/v2/login.go

/api/rpc/login.go

 

/docs

常用来存放项目相关文档

/docs/webapi/build.md

/docs/install.md

/docs/swagger.json

/docs/swagger.yml

/docs/api.go

 

/configs *

配置相关,这个目录下存放初始化配置脚本,配置文件,(如果有)配置映射脚本。

/configs/webapi.yml

/configs/sync.yml

/configs/configs.go --> 初始化

/configs/webapi.go

 

/tools *

/internal/pkg

 

/pkg

可以被其他的项目引用的代码模块。

/pkg/redis

/pkg/mongodb

 

/internal

/internal/myapp//internal/common

/internal/auth

 

/test

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

 

/examples

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

 

/thirdparty

其他第三方库文件

 

/web

web相关的静态文件

 

/assets

markdown依赖的静态文件

 

其他的按功能模块分目录,比如 account模块

那么,数据模型,业务逻辑的脚本都放在account目录下

/account/account.go  --> 数据模型在该目录

/account/process.go --> 逻辑处理