一, 整数
整数,就是存放整数值的,如0, -1, 800等
整数的类型:
类型 | 有无符号 | 占用存储空间 | 值范围 | 备注 |
---|---|---|---|---|
int8 | 有 | 1字节 | -2^7 ~ 2^-1 | |
int16 | 有 | 2字节 | -2^15 ~ 2^15 -1 | |
int32 | 有 | 4字节 | -2^31 ~ 2^31 -1 | |
int64 | 有 | 8字节 | -2^63 ~ 2^63 -1 | |
uint8 | 无 | 1字节 | 0 ~ 2^8 - 1 | |
uint16 | 无 | 2字节 | 0 ~ 2^16 - 1 | |
uint32 | 无 | 4字节 | 0 ~ 2^32 - 1 | |
uint64 | 无 | 8字节 | 0 ~ 2^64 - 1 | |
int | 有 | 32位系统4个字节 64位系统8个字节 | 参考int32和int64 | |
uint | 无 | 32位系统uint32 64系统uint64 | 参考uint32和uint64 | |
rune | 有 | 等价于int32 | -2^31 ~ 2^31 -1 | 表示一个unicode码 |
byte | 无 | 等价于uint8 | 0 ~ 255 | 存储一个ascii字符用 |
备注:
- golang的整型默认位int
- 用unsafe.Sizeof(var_name)来查看变量的字节大小, %T来查看类型
- 在使用的时候在确保不溢出的情况下尽量选择占用空间小的类型
- bit是计算机最小存储单元.byte是基本存储单元, 1byte=8bit
二, 浮点数
浮点数就是小数类型,用来存放小数的,比如1.2, 3.1415926
分为float32和float64, 前者占用4个字节,后者占用8个字节
要点:
- 浮点数在计算机的存放形式是: 符号为+指数位+尾数位
- 浮点数都是有符号的
- 尾数部分可能会丢失部分,造成精度损失
- 浮点数默认声明位float64, 推荐使用float64,因为更加精确
5.浮点数的两种表示方式:- 十进制表示: 5.12, 3.14, .23 必须有小数点.
- 科学记数法: 5.1e2 = 5.1 * (10^2)
三, bool类型
- bool类型也叫布尔类型,只允许取值ture和false
- bool类型占用1个字节
3.用于逻辑运算,比如程序的控制流程以及循环控制.