文章目录
- 1、Go的25个关键字讲解
- 2、Go的36个预定义标识符
1、Go的25个关键字讲解
不,你没看错,这门语言只有25个关键字。
不像C++关键字那么多,原本C++98/03有63个关键字,后来C++11又加了10个,变成了73个。
 其中13个关键字与C++相同(break、default、switch、case、if、else、const、continue、for、return、map、struct、goto),用法也是类似。其它的12个不同(func、interface、select、defer、go、chan、package、falthrough、range、type、import、var)。
| 序号 | 关键字 | 介绍 | 
| 1 | break | 用于跳出循环 | 
| 2 | case | 选择结构标签 | 
| 3 | chan | 定义channel | 
| 4 | const | 定义常量 | 
| 5 | continue | 跳过本次循环 | 
| 6 | default | 用于选择结构的默认选项(switch、select) | 
| 7 | defer | 延迟执行内容(收尾工作)有点类似C++的析构,但是它是再函数结尾的时候去执行(也就是栈即将被释放的时候) | 
| 8 | else | 选择结构-否则 | 
| 9 | fallthrough | 如果case带有fallthrough,程序会继续执行下一条case,不会再判断下一条case的值 | 
| 10 | for | 循环 | 
| 11 | func | 定义函数 | 
| 12 | go | 并发执行 | 
| 13 | goto | 跳转语句 | 
| 14 | if | 选择结构-如果 | 
| 15 | import | 导入包 | 
| 16 | interface | 定义接口 | 
| 17 | map | Map 是一种无序的集合,我们可以像迭代数组和切片那样迭代它,它是使用 hash 表来实现的。 | 
| 18 | package | 包管理 | 
| 19 | range | 从slice、map等结构中取元素 | 
| 20 | return | 用于在函数内部,退出函数执行过程 | 
| 21 | select | go语言特有的channel选择结构 | 
| 22 | struct | 定义结构体 | 
| 23 | switch | 选择结构 | 
| 24 | type | 定义类型 | 
| 25 | var | 定义变量 | 
看这个可能有点懵,看一下思维导图吧,是不是更清楚的了解它的结构了呢?

2、Go的36个预定义标识符
还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数,见下表:
| 内建常量 | 内建类型 | 内建函数 | 
| true | int | make | 
| false | int8 | len | 
| iota | int16 | cap | 
| nil | int32 | new | 
| - | int64 | append | 
| - | uint | copy | 
| - | uint8 | close | 
| - | uint16 | delete | 
| - | uint32 | complex | 
| - | uint64 | real | 
| - | uintprt | imag | 
| - | float32 | panic | 
| - | float64 | recover | 
| - | complex64 | - | 
| - | complex128 | - | 
| - | bool | - | 
| - | byte | - | 
| - | rune | - | 
| - | string | - | 
| - | error | - | 
                










