1.5.2 Go语言的标识符

1.标识符

标识符就是标识某个实体的一个符号,也就是给实体起的名字,从而将其与其他实体区分开。例如,在日常生活中有许多交通工具,发明者给它们起了名字,如图1.23所示。

图1.23 生活中的标识符

当然,在不同的环境下,标识符含义也不相同。比如嬴政,在现实生活中是历史人物秦始皇,而在游戏《王者荣耀》中就是一个法师英雄,如图1.24所示。

图1.24 嬴政

2.预定义标识符

预定义标识符是Go语言系统预先定义的标识符,具有见名知义的特点,如函数“输出”(printf)、“新建”(new)、“复制”(copy)等。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原意,使用不当还会使程序出错。下面列举了36个预定义标识符,如表1.2所示。

表1.2 Go语言预定义标识符

3.关键字

Go语言的关键字是系统自带的,是具有特殊含义的标识符。Go语言内置了25个关键字用于开发。下面列举了Go代码中会使用到的25个关键字或保留字,如表1.3所示。

表1.3 Go语言关键字或保留字

4.自定义标识符

用户根据需要自定义的标识符,一般用来给变量、类型、函数等程序实体起名字。

自定义标识符实际上是一个或多个字母(A~Z和a~z)、数字(0~9)、下画线(_)组成的序列,但是第一个字符必须是字母或下画线,而不能是数字。

Go不允许在自定义标识符中使用@、$和%等符号,也不允许将关键字用作自定义标识符。如果将预定义标识符用作自定义标识符,那么自定义标识符的含义会覆盖预定义标识符,容易造成程序混乱。Go是一种区分大小写的编程语言。因此,Manpower和manpower是两个不同的标识符。

错误的自定义标识符示例如表1.4所示。

表1.4 错误的自定义标识符示例

需要注意的是,在现实生活中,名字可以重复,比如可能有很多人叫作张三;但是在Go语言中,标识符绝对不能重复,要确保每个标识符都代表一个独立的个体。