Go有丰富的数据类型:
基本类型有:bool、string、int、int8、int16、int32、int64、byte、rune、float32、float64、complex64、complex128
Go还有:pointer、struct、array、slice、map、Range等复杂数据类型
基本类型
类型 | 长度(字节) | 默认值 | 说明 |
---|---|---|---|
bool | 1 | false | 仅有true 或false 两个值 |
byte | 1 | 0 | uint8的别称 |
int | 4 | 0 | int32 |
uint | 8 | 0 | uint32 |
int8 | 1 | 0 | -128 ~ 127 |
uint8 | 1 | 0 | 0 ~ 255 |
int16 | 2 | 0 | -32768 ~ 32767 |
uint16 | 2 | 0 | 0 ~ 65535 |
int32 | 4 | 0 | -21亿 ~ 21亿 |
uint32 | 4 | 0 | 0 ~ 42亿 |
int64 | 8 | 0 | |
uint64 | 8 | 0 | |
float32 | 4 | 0.0 | |
float64 | 8 | 0.0 | |
complex64 | 8 | 复数,实部和虚部为32位 | |
complex128 | 16 | 复数,实部和虚部为64位 |
bool
Go中不允许将整型强制转换为bool。
bool也无法参与数值运算。
bool也无法与其他类型进行转换。
整型
支持八进制、六进制,以及科学计数法。
math标准库定义了各种类型的取值范围。
浮点型
两种浮点型数据格式遵循IEEE 754
标准。
引用类型
类型 | 默认值 | 说明 |
---|---|---|
uintptr | 存储指针,uint32或uint64整数 | |
array | 值类型 | |
struct | 值类型 | |
string | “” | UTF-8字符串,值类型 |
slice | nil | 引用类型 |
map | nil | 引用类型 |
channel | nil | 引用类型 |
interface | nil | 接口 |
function | nil | 函数 |