标识符
概念
标识符是编程时所使用的名字,用于给变量、常量、函数、类型、接口、包等进行命名。
命名规则
自定义标识符的命名规则:
- 只能由26个字母、数字、下划线_ 组成
- 只能由字母或下划线开头,不能数字开头
- 不能包含空格
- 不能使用Go语言保留关键字、预定义标识符
预定义标识符
- 内置常量:true、false、nil、iota
内置类型:bool、byte、rune、int、int8、int16、int32、int64、uint、uint8、unit16、unit32、unit64
uintptr、float32、float64、complex64、complex128、string、error
内置函数:make、len、cap、new、append、copy、close、delete、complex、real、imag、panic、recover
- 空白标识符:_
内置关键字
- 声明:import、package
- 实体声明和定义:chan、const、func、interface、map、struct、type、var
- 流程控制:break、case、continue、default、defer、else、fallthrough、for、go、goto、 if、range、return、select、switch
案例
正确案例:
hello
xrgo
work_dir
userName
imageTag
错误案例:
8user — 错误:不能以数字开头
ab cd — 错误:不能包含空格
user-Name — 错误:不能包含-,只能包含字母、数字、下划线
_ — 错误:不能使用预定义标识符
Go 语言提供一些内置关键字、预先定义的标识符,在自定义标识符时应避免使用:
注意事项
- Go语言中严格区分大小写,username 和 userName 表示不同的标识符
- 下划线 _ 在Go中是一个特殊标识符,称为空标识符。可以代表任何其他标识符,但是其对应的值会被忽略(例如用于忽略某个返回值)
所以 _ 仅能用作于占位符使用,而不能单独作为自定义标识符使用
- 建议使用驼峰式命名,userName、imageTag、userPasswd
- 如果标识符(变量、常量、函数)名称首字母大写,则可以被其他的包访问
如果首字母小写,则只能在本包中使用。(可以简单理解为:首字母大写为公开的,首字母小写为私有的;在Go中没有public、private等关键字)