Golang 数据类型
go语言数据类型分为:基本数据类型 & 复合数据类型
基本数据类型包括:整型,浮点型,布尔型,字符串型
复合数据类型包括:数组,切片,结构体,函数,map,通道(channel),接口…
一、整型
分为两大类:
有符号整型按长度分:int8,int16,int32,int64 (位),有符号整型第一位代表符号位(0负1正)
对应无符号整型:unit8,unit16,unit32,unit64 (均为正数)
unitptr 无符号整型,用于存放一个指针(特殊类型)
通过unsafe 查看不同长度的类型在内存中的存储空间.
var a int8 = 15
fmt.Printf("a=%v 类型:%T",a,a) //
fmt.Println(unsafe.Sizeof(a)) //int8占用一个字节,tips:需要引入unsafe -> import("unsafe")
高位向低位转化需要注意数值区间,低位向高位转换不存在此问题
var b int16 = 130
fmt.Printf(int8(b)) // 结果为:-126
字面量语法:%d表示10进制输出,%b二进制,%x十六进制
二、浮点型
golang中支持两种浮点型数:float32 & float64 -
float32的范围:-3.4e38 - 3.4e38
float64的范围:-1.8e308 - 1.8e308 (golang中浮点数默认是float64)
var a float32 = 3.12
fmt.Printf("值:%v -- %f,类型:%T",a,a,a) // 输出结果为:3.12 -- 3.120000,类型:f