数据类型
一 数据类型分类
值类型:基本数据类型是Go语言实际的原子,复合数据类型是由不同的方式组合基本类型构造出来的数据类型,如:数组,slice,map,结构体
整型 int8,uint # 基础类型之数字类型
浮点型 float32,float64 # 基础类型之数字类型
复数 # 基础类型之数字类型
布尔型 bool # 基础类型,只能存true/false,占据1个字节,不能转换为整型,0和1也不能转换为布尔
字符串 string # 基础类型
数组 # 复合类型
结构体 struct # 复合类型
引用类型:即保存的是对程序中一个变量的或状态的间接引用,对其修改将影响所有该引用的拷贝
指针 *
切片 slice
字典 map
函数 func
管道 chan
接口 interface
贴士:Go语言没有字符型,可以使用byte来保存单个字母
二 零值机制
Go变量初始化会自带默认值,不像其他语言为空,下面列出各种数据类型对应的0值:
int 0
int8 0
int32 0
int64 0
uint 0x0
rune 0 //rune的实际类型是 int32
byte 0x0 // byte的实际类型是 uint8
float32 0 //长度为 4 byte
float64 0 //长度为 8 byte
bool false
string ""