逐步学习Go-命名约定

内容目录
代码元素 命名约定 示例 说明
Go文件 小写, 使用下划线 http_server.go Go文件通常是小写的,单词之间使用下划线分隔。
函数 驼峰式,首字母大写公开 ComputeSomething()
findIndex()
导出的函数首字母大写,私有函数首字母小写。
方法 同函数 user.MarshalJSON()
client.doRequest()
方法命名同函数,首字母大小写决定其可见性。
常量 大写下划线或驼峰式 MAX_TIMEOUT
DefaultPort
导出的常量首字母大写,私有常量使用小写。
变量 驼峰式或简短 index
numItems
userID
变量命名根据其可见性使用大小写,短命名用于局部变量。
接口 通常以er结尾 Reader
Writer
接口命名反映行为,导出的接口首字母大写。
类型 驼峰式 ByteSlice
JobQueue
自定义类型采用驼峰式,首字母大写表示导出类型。
包名 小写, 无下划线或驼峰 net
http
包名应简短且为小写,不使用下划线或驼峰式。
错误变量 err开头 errNotFound
errInvalidInput
错误变量通常以err开头且后接描述。
接收器变量 类型名称首字母的小写 func (u *User) Name() string 方法的接收器变量名通常简短,代表其类型。
通道 ch开头或含Queue chDone
jobsQueue
通道变量通常明确指出其为通道类型。
全局变量 驼峰式,首字母大写公开 Logger 全局变量采用首字母大写,代表可导出。
临时变量 简短命名 i, j, tmp, buf 临时变量使用较短的名称,通常用于局部作用域。
测试文件 _test.go后缀 http_server_test.go 测试文件以被测试的文件名开头,添加_test.go后缀。
工程名 小写, 可包含短横线 go-webserver
my_app
Go工程名应该简洁,能够清楚地反映项目内容或功能。可以包含短横线来分隔单词。

工程名称通常与代码仓库名称一致

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部