- 本项目含有多个子模块:tools下是与业务无关的基本模块;其他文件夹下是和业务相关在各项目之间通用的代码;
- leaf文件夹里面是对leaf框架的补充代码;
- 在对本项目进行设计的时候,请尽量不要添加太多和业务耦合较深的代码,如无必要勿增实体;
- 由于使用go mod,仅支持使用最新的golang版本进行构建(>=1.11);
- 必要的时候对具体模块进行再封装;
- 一般情况下,禁止对模块的导出接口进行删减改名,这会导致库不再向下兼容;
- 如果你能手动把其他使用该库的项目都改过来,也可以无视第6条;
- 如果不需要更新本项目代码,go mod到本地;
请将上文中的git地址替换成本地的git仓库,作为开发人员,请确保你有该项目的访问权限(只读权限即可) 3. 如果新建项目需要依赖本项目,请在go.mod里面require github.com/Golangltd/nest latest,然后使用go mod download即可将其下载到本地; 4. 如果go.mod中的依赖版本与本地不符合,可以使用go mod tidy进行更新,其他go mod命令请自行学习;
├── cache # 公用cache,包含rpc/闪告/金币锁 ├── ginutils # gin的一些工具函数,供短链接API使用 ├── heartbeat # 通用心跳模块 ├── leaf # leaf的一些扩展函数,包括自定义的protobuf消息解析器 ├── log # 通用的log封装 ├── proto # 通用的protobuf消息 ├── mg # mongo中数据统计相关的公用接口 ├── tools │ ├── collection # 集合类的扩展方法 │ ├── database # 快速初始化数据库连接 │ ├── deepcopy # 通用深拷贝(使用反射) │ ├── fs # 文件系统/配置解析 │ ├── ip # ip地址库 │ ├── jsonutils # json工具库 │ ├── mem # 常用的内存缓存类 │ ├── num # 基础数字类型工具函数 │ ├── sample # 随机抽样函数 │ └── tz # 时间函数 └── user # 用户/流水相关公用接口