关键字和标识符是每个编程语言的基础元素,用于构成语法结构,Go也有关键字和标识符。
Go语言关键字
break | default | func | interface | select |
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
关键字是语言本身预留,不能作为标识符使用。
命名规范
标识符是开发者定义的用于标记各种程序要素的名称:
- 变量名
- 常量名
- 函数名
- 类型名
命名须遵守以下规范:
- 只能包含字母、数字和下划线
- 第一个字符必须是字母或下划线
- 严格区分大小写
合法的标识符
age // 小写标识符
Age // 大写标识符
_count // 以下划线开头
user123 // 数字开头无效
MAX_SIZE // 常量命名规范
ThisIsVarName // 混合命名
保留字
除了关键字,Go中也有一些保留字,现在不是关键字,但未来可能称为关键字。
append | imag | new |
cap | len | real |
complex | make | unsafe |
这些保留字不建议作为标识符使用。
预声明标识符
此外,Go中也有一些预声明标识符,可以直接使用:
true false iota nil
样式规则
Go中关键字和标识符有严格的大小写区分。
命名建议
userName // 不好,混合了多种命名
user_name // 不好,下划线连接
UserID // 好,大写驼峰
MAX_COUNT // 好,常量全大写
注意
- 同一个作用域不能声明同名标识符
- 内置标识符不能重复使用
- 避免使用与关键字或保留字相似的标识符