一些关键的命名规范。
一、包
对于包的命名,建议是以小写形式的单个单词命名。
在 Go 里面,包的名称不要求是唯一的。
包的名称尽量和包的导入路径里面的最后一个路径一致。
每个包的导入路径是唯一的。
比如 Go 的 Web 框架 Gin,包的名称是 gin,导入路径是:
1import "github.com/gin-gonic/gin"对于包的导出标识符的命令,在名字中不要再包含包的名称。
假如有个名为
github.com/zeepunt/lora的包,对于包的导出标识符:1 2 3 4 5 6 7import "github.com/zeepunt/lora" // 推荐 lora.Sx126xOpen() // 不推荐, 因为 LoraSx126xOpen 携带了包的名称 lora.LoraSx126xOpen()
二、标识符
标识符的命名采用驼峰命名法(CamelCase)。
标识符可以指的是变量名称、函数名称、接口名称等。
小驼峰拼写法(lowerCamelCase)
第一个单词的首字母小写,后面每个单词的首字母大写。
大驼峰拼写法(UpperCamelCas)
又称为帕斯卡拼写法(PascalCase)。
每个单词的首字母都需大写。
注意
Go 里面默认大驼峰拼写法的标识符用于包导出标识符。
比如,在 lora 包里面有两个函数,分别是 Sx126xOpen 和 sx1262Info,那么只有 Sx126xOpen 函数可以被外部访问,sx1262Info 只能被包的内部访问。
如果缩略词的首字母是大写的,那么其他的字母也要大写。
比如,HTTP 不要写成 Http。
三、常量
Go语言中,常量在命名方式上与变量并无较大差别,并不要求全部大写。
下面两种写法都可以:
| |
四、接口
在Go语言中,对于接口类型优先以单个单词命名。
对于拥有唯一方法(method)或通过多个拥有唯一方法的接口组合而成的接口,Go语言的惯例是用 方法名+er 命名。
比如:
| |
版权声明
本文为「Zeepunt 日常随笔」的原创文章,遵循 CC 4.0 BY-SA 版权协议。
原文链接:https://zeepunt.github.io/article/go/go%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83/