一文了解一文了解Go语言中编码规范的使用语言中编码规范的使用
主要介绍了一文了解Go语言中编码规范的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具
有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
每个语言都有自己特色的编码规范,学习该语言的命名规范,能让你写出来的代码更加易读,更加不容易出现一些低级错误。
本文根据个人编码习惯以及网络上的一些文章,整理了一些大家能用上的编码规范,可能是一些主流方案,但不代表官方,这
一点先声明一下。
1. 文件命名文件命名
由于 Windows平台文件名不区分大小写,所以文件名应一律使用小写
不同单词之间用下划线分词,不要使用驼峰式命名
如果是测试文件,可以以 _test.go 结尾
文件若具有平台特性,应以 文件名_平台.go 命名,比如 utils_ windows.go,utils_linux.go,可用的平台有:windows, unix,
posix, plan9, darwin, bsd, linux, freebsd, nacl, netbsd, openbsd, solaris, dragonfly, bsd, notbsd, android,stubs
一般情况下应用的主入口应为 main.go,或者以应用的全小写形式命名。比如MyBlog 的入口可以为 myblog.go
2. 常量命名常量命名
目前在网络上可以看到主要有两种风格的写法
第一种是驼峰命名法,比如 appVersion
第二种使用全大写且用下划线分词,比如 APP_VERSION
这两种风格,没有孰好孰弱,可自由选取,我个人更倾向于使用第二种,主要是能一眼与变量区分开来。
如果要定义多个变量,请使用 括号 来组织。
const (
APP_VERSION = "0.1.0"
CONF_PATH = "/etc/xx.conf"
)
3. 变量命名变量命名
和常量不同,变量的命名,开发者们的喜好就比较一致了,统一使用 驼峰命名法
1. 在相对简单的环境(对象数量少、针对性强)中,可以将完整单词简写为单个字母,例如:user写为u
2. 若该变量为 bool 类型,则名称应以 Has, Is, Can 或 Allow 开头。例如:isExist ,hasConflict 。
3. 其他一般情况下首单词全小写,其后各单词首字母大写。例如:numShips 和 startDate 。
4. 若变量中有特有名词(以下列出),且变量为私有,则首单词还是使用全小写,如 apiClient。
5. 若变量中有特有名词(以下列出),但变量不是私有,那首单词就要变成全大写。例如:APIClient,URLString
这里列举了一些常见的特有名词:
// A GonicMapper that contains a list of common initialisms taken from golang/lint
var LintGonicMapper = GonicMapper{
"API": true,
"ASCII": true,
"CPU": true,
"CSS": true,
"DNS": true,
"EOF": true,
"GUID": true,
"HTML": true,
"HTTP": true,
"HTTPS": true,
"ID": true,
"IP": true,
"JSON": true,
"LHS": true,
"QPS": true,
"RAM": true,
"RHS": true,
"RPC": true,
"SLA": true,
"SMTP": true,