GO语言的大小写问题
命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名。Go语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。
当命名(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:SayHello
,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public
);命名如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private
)
包名称
package
名称保持和目录一致,尽量只使用小写字母。
文件命名
尽量只使用小写字母和下划线。
结构体命名
使用驼峰命名法,首字母大小的含义和上述保持一致。
接口命名
- 命名规则基本和上面的结构体类型相同。
- 单个函数的结构名以“er”作为后缀,例如 Reader ,Writer。
变量命名
命名规则基本和上面的结构体类型相同。
常量命名
全部大写,并且使用下划线划分单词。
单元测试
- 单元测试文件名命名规范为
example_test.go
测试用例的函数名称必须以Test
开头,例如:TestExample
。 - 每个重要的函数都要首先编写测试用例,测试用例和正常代码一起提交方便进行回归测试。