整型
无符号整型:uint8,uint16,uint32,uint64
带符号整型: int8,int16,int32,int64
uint,int:具体是32还是64看操作系统是32位还是64位
uintptr 表示指针
浮点型
float64,float32
复数
complex128 complex64
布尔值
true false
不能做类型转换
字符串
字符串不能修改
字符串:"lvhuxu"
字符:'x' (单引号包裹的是字符,单个字母,单个符号或者文字)
字节:1byte=8bit
byte和rune
都属于类型别名
byte表示uint8
rune表示int32
字符串底层是[]byte
但是只能表示英文字符串
中文字符串分解的最小单位是[]rune,原因如下:
go语言中字符串都是UTF8编码,UTF8编码中常用的一个汉字占用3个byte
一个汉字因为占用了24bit,因为int16少了,所以用int32来表示最合适
所以在有中文的字符串中处理字符会使用int32来分割,或者叫rune
英文字符都在ascii码中,8bit足够了,所以用unit8或者byte来表示所有的英文字符