Go语言的代码中的几乎所有东西都有一个名称或标识符,另外,Go语言是区分大小写的,这与C语言家族中的其它语言相同。有效的标识符必须以字符(可以是任何 UTF-8 编码的字符或_
,数字除外)开头,然后紧跟着 0 个或多个字符或 Unicode 数字,如:X56、group1、_x23、i、өԑ12。
以下是无效的标识符:
- 1ab(以数字开头)
- case(Go语言的关键字)
- a+b(不能包含运算符)
_
本身就是一个特殊的标识符,被称为空白标识符,它可以像其他标识符那样用于变量的声明或赋值(任何类型都可以赋值给它),但任何赋给这个标识符的值都将被抛弃,因此这些值不能在后续的代码中使用,也不可以使用_
作为变量对其它变量进行赋值或运算。
下表列举了Go语言中会使用到的 25 个关键字或保留字:
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 |
之所以刻意地将Go语言中的关键字保持的这么少,是为了简化在编译过程第一步中的代码解析。和其它语言一样,关键字不能够作标识符使用。
除了以上介绍的这些关键字,Go语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数。
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 | panic | uint64 |
println | real | recover | string | true | uint | uint8 | uintptr |