go 命名规范
目录
命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名
¶概述
Go 是一门区分大小写的语言, Go 语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头
¶Go 包名称
Go 中 package 的名字最好和目录保持一致,并且应该是小写的单词,尽量做到见名知其意思,不要使用下划线或者混合大小写
¶Go 文件命名
尽量采取有意义的文件名,简短,有意义,应该为小写单词,使用下划线分隔各个单词。
¶结构体命名
采用驼峰命名法,首字母根据访问控制大写或者小写,最好将结构体的申明和初始化在多行情况下进行,例如
1 | type ClassFile struct { |
¶接口命名
接口命名规则和结构体命名规则相似,单个函数的结构体名以er
作为后缀,例如:Reader
、Writer
1 | type Reader interface { |
¶变量命名
和结构体类似,变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写,但遇到特有名词时,需要遵循以下规则:
¶常量命名
常量均需要使用大写字母组成,并且各个单词之间使用下划线_
进行分隔
1 | const PATH_LIST_SEPARATOR = string(os.PathListSeparator) |
如果是枚举类型的常量,需要见创建相应的类型
1 | const ( |
¶错误处理
1 | if err!=nil{ |
¶单元测试
单元测试文件命名规范为example_test.go
测试用例的函数名称笔试以Test
开头,例如:文件entry_dir
中存在一个结构体以及对应的方法,想要对其进行测试
1 | type DirEntry struct { |
需要创建一个名称为entry_dir_test.go
的文件,并且内部书写的测试方法名称为TestDirEntry_ReadClass