Golang编码规范
编码规范
文件名
该分类下主要描述了与文件名相关的规范
文件夹名
- 全部小写
- 单词之间用 “-” 分割。
示例:client-api
Go文件名
- 全部小写
- 单词之间用 “_” 分割。
示例:discovery_client.go
▼查看综合示例▼
.
├── controllers
│ ├── api.go
│ ├── score.go
│ ├── student.go
│ └── teacher.go
└── models
├── score.go
├── student.go
└── teacher.go
包名
应与当前所在文件夹的名称一致
示例:
文件夹:controllers
1 | // panda.go |
声明
该分类下主要描述了与 结构体/变量 相关的规范
结构体
- 按照场景需求来确定首字母大小写
- 单词之间,遵循驼峰命名法
1 | ApiController |
变量
- 开头小写字母
- 单词之间,遵循驼峰命名法
- 尽量缩小变量的作用域(能定义为局部就不要定义为全局变量)
常量
- 全部大写
- 单词之间用 “-” 分割。
示例:
1 | const ( |
类型
- 数字类型不要声明为
int,改为int64- int类型在
32位CPU上为4字节的int32,而在64位上则为8字节的int64 - 目前无论是开发环境还是正式环境,都不太可能有32位CPU了
- 除非是面向嵌入式开发,或者特殊场景需求。否则都建议使用
int64 - 在proto中,数字类型有
int32、int64这两种,使用int64则免去了对接过程中的强制类型转换
- int类型在