1、布尔类型
-
布尔值只有真(true)值和假值(false)。
类型 描述 bool true为真值,false为假值
2、整型
- Go中的整型分为
无符号整型与有符号整型。
| 序号 | 类型和描述 |
|---|---|
| uint8 | 无符号 8 位整型 |
| uint16 | 无符号 16 位整型 |
| uint32 | 无符号 32 位整型 |
| uint64 | 无符号 64 位整型 |
| int8 | 有符号 8 位整型 |
| int16 | 有符号 16 位整型 |
| int32 | 有符号 32 位整型 |
| int64 | 有符号 64位整型 |
| uint | 无符号整型 至少 32 位 |
| int | 整型 至少 32 位 |
| uintptr | 等价于无符号 64 位整型,但是专用于存放指针运算,用于存放死的指针地址。 |
3、浮点型
- 主要分为单精度浮点数和双精度浮点数
| 类型 | 类型和描述 |
|---|---|
| float32 | 32 位浮点数 |
| float64 | 64 位浮点数 |
4、复数类型
| 类型 | 描述 |
|---|---|
| complex128 | 64 位实数和虚数 |
| complex64 | 32 位实数和虚数 |
5、字符类型
- go 语言字符串完全兼容 UTF-8。
| 类型 | 描述 |
|---|---|
| byte | 等价 uint8 可以表达 ANSCII 字符 |
| rune | 等价 int32 可以表达 Unicode 字符 |
| string | 字符串即字节序列,可以转换为[]byte类型即字节切片 |
6、派生类型
| 类型 | 例子 |
|---|---|
| 数组 | [5]int,长度为 5 的整型数组 |
| 切片 | []float64,64 位浮点数切片 |
| 映射表 | map[string]int,键为字符串类型,值为整型的映射表 |
| 结构体 | type Gopher struct{},Gopher 结构体 |
| 指针 | *int,一个整型指针。 |
| 函数 | type f func(),一个没有参数,没有返回值的函数类型 |
| 接口 | type Gopher interface{},Gopher 接口 |
| 通道 | chan int,整型通道 |
7、零值
| 类型 | 零值 |
|---|---|
| 数字类型 | 0 |
| 布尔类型 | false |
| 字符串类型 | "" |
| 数组 | 固定长度的对应类型的零值集合 |
| 结构体 | 内部字段都是零值的结构体 |
| 切片,映射表,函数,接口,通道,指针 | nil |
8、nil
-
nil类似于其它语言中的none或者null。
-
源码中,nil只是一个类型:
var nil Type