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类型在