基本可以为分为三类:关键字(保留字)+ 预定义标识符 + 自定义标识符
三个成分:数字、字母、下划线
三个注意:非数字开头、区分大小写、保留字至上
注:
- 单下划线为空标识符,空标识符不能使用,否则编译器会报错cannot use _ as value
- 字母包括英文字母、汉字等
关键字
break default func interface select case defer go map struce chan else goto package swith const fallthrough if range type continue for import return var
预定义标识符
常量
true false iota nil
数据类型
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
函数
append bool byte cap close complex complex64 complex128 uint16 copy false float32 float64 imag int int8 int16 uint32 int32 int64 iota len make new nil pantic uint64 print println real recover string true uint uint8 uintprt
这些内部预先定义的名字并不是关键字,你可以在定义中重新使用它们。在一些特殊的场景中重新定义它们也是有意义的,但是也要注意避免过度而引起语义混乱。
Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。
Go中采用驼峰式命名规范,且风格上尽量短小(尤其是对于局部变量,特别是i),首字母缩略词避免大小写混搭