标识符的概念
1、golang对各种变量,方法等命名时使用的字符序列称为标识符
2、凡是自己可以起名字的地方都叫标识符
标识符的命名规则
- 由26个英文字母大小写,0-9,_ 组成
- 不可以数字开头
- 严格区分大小写
- 标识符不能包含空格
- 下划线“_” 本身是一个特殊的标识符,称为空标识符。可以代表任何其他的标识符,但是它对应的值会被忽略。所以仅能作为占位符使用,不能作为标识符使用。
- 不能以系统保留关键字作为标识符,比如break,if 等
命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名。
Go语言从语法层面进行了以下限定:
1、任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。
2、当命名(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Analysize,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);
命名如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的。
包名称
保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,尽量和标准库不要冲突。
包名应该为小写单词,不要使用下划线或者混合大小写。
package domain package main
文件命名
尽量采取有意义的文件名,简短,有意义,应该为小写单词,使用下划线分隔各个单词。
approve_service.go
结构体命名
采用驼峰命名法,首字母根据访问控制大写或者小写
struct 申明和初始化格式采用多行,例如下面:
type MainConfig struct { Port string
json:"port"Address stringjson:"address"} config := MainConfig{“1234”, “123.221.134”}
接口命名
命名规则基本和上面的结构体类型
单个函数的结构名以 “er” 作为后缀,例如 Reader , Writer 。
type Reader interface {
Read(p []byte) (n int, err error)}
变量命名
和结构体类似,变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写,但遇到特有名词时,需要遵循以下规则:
如果变量为私有,且特有名词为首个单词,则使用小写,如 appService
若变量类型为 bool 类型,则名称应以 Has, Is, Can 或 Allow 开头
var isExist bool
var hasConflict bool
常量命名
常量均需使用全部大写字母组成,并使用下划线分词
const APP_URL = “https://www.baidu.com“
