数值类型+低占用类型
大约 1 分钟
数值类型+低占用类型
数据类型
数据类型
- 基本数据类型
- 数值型
- 整数类型 (int, int8, int16, int32, int64) (uint, uint8, uint16, uint32, uint64) (byte)
- 浮点类型 (float32, float64)
字符型(没有单独的字符型,使用byte来保存单个字母字符)- 布尔型 (bool)
- 字符串 (string),在Go里字符串居然是基本数据类型,其他语言基本不属于
- 数值型
- 派生数据类型/复杂数据类型
- 指针
- 数组
- 结构体
- 管道
- 函数
- 切片
- 接口
- map
整数类型
和其他语言都差不多
分类:(int, int8, int16, int32, int64) (uint, uint8, uint16, uint32, uint64) (byte)
- 有u表示无符号,无u有符号。末尾带数字就表示占几个bit
- 例外1:没有数字的根据机器来定
- int == int32 (32位系统) == int64 (64位系统)
- uint == uint32 (32位系统) == uint64 (64位系统)
- 例外2:(说好的建议只有一种写法呢……不建议使用)
- rune,等价于int32
- byte,等价于uint8
选用:Go默认优先使用int类型。遵循保小不保大的原则,即保证程序正确运行下,尽量使用占用空间小的数据类型
浮点类型
和其他语言都差不多
分类:(float32, float64),Go默认有限
var num1 float32 = 3.14
var num2 float32 = -3.14
var num3 float32 = 314E-2 // E可以小写
var num4 float32 = 314E+2 // E可以小写
选用:Go默认优先使用float64类型
布尔类型
占一个字节
var flag1 bool = true
var flag2 bool = false
var flag3 bool = 5 < 9