布尔型:bool
长度1字节
取值范围:true,false
注意:不可以用数字代表true或false
整型:Int
根据平台可能为32为或64位
8位整型:int8/uint8
长度:1字节
取值范围:-127~127,0~255
byte 字节型 其实就是 uint8的别名
16位整型:int16/uint16
长度:2字节
取值范围:-32768~32768,0~65535
32位整型:int32/uint32
长度:4字节
rune就是int32的别名
浮点型:float32/float64
长度:4字节/8字节
小数位:float32精确到小数点后7位,float64精确到小数点后15位
保存指针的uintptr类型,根据平台来分为32位或64位
其他类型:
array struct string
引用类型:
map slice chan(并发会使用到)
接口类型:interface
函数类型:func (因为函数可以复制给变量的)
类型零值:
零值并不等于空置,而是当变量被声明为某种类型后的默认值,通常情况下值的类型都为0,bool为 false,string为空字符串,数组的话和数组类型的零值保持一致 [2]int,则数组的初始值为[0 0]
类型别名:
使用type对类型进行别名
这样是可以的,但是不建议这样使用,type定义一些其他的别名(type byte64 int64),来使代码可读性更强
type定义的类型的别名,其实只是和该类型的结构相同,所以要做类型转换的时候,还是需要进行显式转换的,而byte rune 的确是uint8 int32,的别名,可以进行相互转换
可以进行转换:
这样是无法进行转换的
必须做显式的类型转换才可以
时间: 2024-10-03 22:53:55