Go词法单元
flowchart LR token --> 标识符 & 操作符与分隔符 & 字面常量 标识符 --> 预声明标识符 & 自定义标识符 操作符与分隔符 --> 操作符 & 纯分隔符 字面常量 --> 整形字面量\n浮点型字面量\n复数型字面量\n字符串字面量\n字符型字面量 预声明标识符 --> 关键字 & 其它 自定义标识符 --> user[包名 变量名 常量名\n 函数名 自定义类型名\n方法名] 纯分隔符 --> cfgf[空白 制表符 回车 换行] 其它 --> 类型标识符 & 常量标识符 & 空白标识符 & 内置函数
关键字(keywords) #
| 功能(25个) | 关键字 |
|---|---|
| 引导整体程序结构 | package import const var func defer go return |
| 声明复合数据结构 | struct interface map chan |
| 控制程序结构 | if else for range break continue switch select type case default fallthrough goto |
类型标识符 #
| 类型(20个) | 值 |
|---|---|
| 整型 | byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr |
| 浮点型 | float32 float64 |
| 复数型 | complex64 complex128 |
| 字符和字符串型 | string rune |
| 接口型 | interface |
| 布尔型 | bool |
常量标识符 #
true false iota nil(指针/引用型变量默认值就是nil)
空白标识符 #
_ (声明匿名变量)
内置函数 #
共15个内置函数
make new len cap append copy delete panic recover close complex real image print println
操作符 #
| 类型(47个) | 值 |
|---|---|
| 算术运算符 | + - * / % |
| 位运算符 | & | ^ &^ » « |
| 赋值和赋值复核运算符 | := = += -= *= /= %= &= |= ^= &^= »= «= |
| 比较运算符 | > >= < <= == != |
| 括号 | () {} [] |
| 逻辑运算符 | && || ! |
| 自增自减操作符 | ++ – |
| 其他运算符 | : , ; . … <- |
字面常量 #
表示固定值的符号叫做字面常量,简称字面量,其实就是具体的值而已。