关键字和保留字
在 Go 语言中,关键字(keywords)和保留字(reserved words)是具有特殊含义的词汇,用于定义程序结构和控制流。以下是 Go 语言中的关键字和保留字:
关键字
Go 语言中有 25 个关键字,它们用于定义程序的结构和控制流:
- break: 终止循环或跳出 switch 语句。
- case: 用于 switch 语句中的一个分支。
- chan: 用于声明通道(channel)。
- const: 用于声明常量。
- continue: 跳过当前循环的剩余部分,并继续执行下一次循环。
- default: 用于 switch 语句中的默认分支。
- defer: 推迟执行一个函数直到周围的函数返回。
- else: 在 if 语句中提供一个备选的分支。
- fallthrough: 在 switch 语句中,强制执行下一个 case 语句。
- for: 用于声明一个循环。
- func: 用于声明一个函数。
- go: 启动一个新的 goroutine。
- goto: 跳转到一个指定的标签。
- if: 用于条件分支语句。
- import: 导入包。
- interface: 用于声明一个接口。
- map: 用于声明一个映射(哈希表)。
- package: 声明包级别的代码。
- range: 迭代一个集合的元素。
- return: 从一个函数返回。
- select: 用于选择多个通信操作中的一个。
- struct: 用于声明一个结构体。
- switch: 用于选择一个多路分支。
- type: 用于声明一个新类型。
- var: 用于声明一个变量。
保留字
保留字是目前未在 Go 语言中使用,但保留给未来使用的词汇。这些词在 Go 语言中不能作为标识符使用。Go 语言没有像其他一些语言那样的保留字,但有一些特殊的预定义标识符和常量。
预定义标识符
预定义标识符是 Go 语言中预先定义的标识符,主要用于内置函数和类型。虽然这些标识符可以被重新定义,但这样做通常是不推荐的。
-
内置常量:
- true: 布尔类型的真值。
- false: 布尔类型的假值。
- iota: 常量生成器,用于枚举。
- nil: 表示零值或空值,适用于指针、通道、函数、接口、映射和切片类型。
-
内置类型:
- int: 整数类型。
- int8: 8 位整数类型。
- int16: 16 位整数类型。
- int32: 32 位整数类型。
- int64: 64 位整数类型。
- uint: 无符号整数类型。
- uint8: 8 位无符号整数类型。
- uint16: 16 位无符号整数类型。
- uint32: 32 位无符号整数类型。
- uint64: 64 位无符号整数类型。
- uintptr: 无符号整数类型,用于指针运算。
- float32: 32 位浮点类型。
- float64: 64 位浮点类型。
- complex64: 64 位复数类型。
- complex128: 128 位复数类型。
- bool: 布尔类型。
- byte: 等同于 uint8 类型。
- rune: 等同于 int32 类型,表示一个 Unicode 码点。
- string: 字符串类型。
- error: 内置错误接口类型。
-
内置函数:
- append: 用于追加切片。
- cap: 返回容量。
- close: 关闭通道。
- complex: 构造复数。
- copy: 复制切片。
- delete: 删除映射中的元素。
- imag: 返回复数的虚部。
- len: 返回长度。
- make: 用于分配和初始化对象。
- new: 分配内存。
- panic: 触发运行时错误。
- print: 打印输出。
- println: 打印输出并换行。
- real: 返回复数的实部。
- recover: 恢复 panic。
这些关键字和预定义标识符是 Go 语言的基本组成部分,理解它们的用途和作用对于编写和阅读 Go 代码非常重要。