基础数据类型

基础数据类型

类型 名称 长度 零值 说明
bool 布尔类型 1 false
byte 字节型 1 0 uint8别名
rune 字符类型 4 0 专用于存储unicode编码,等价于uint32
int, uint 整型 4或8 0 32位或64位
int8, uint8 整型 1 0 -128 ~ 127, 0 ~ 255
int16, uint16 整型 2 0 -32768 ~ 32767, 0 ~ 65535
int32, uint32 整型 4 0 -21亿 ~ 21 亿, 0 ~ 42 亿
int64, uint64 整型 8 0
float32 浮点型 4 0.0 小数位精确到7位
float64 浮点型 8 0.0 小数位精确到15位
complex64 复数类型 8 只有两个复数的实部和虚部都相等时它们才相等
complex128 复数类型 16
uintptr 整型 4/8 ⾜以存储指针的 uint32或 uint64整数
string 字符串 "" utf-8字符串

bool 值不会隐式转换为数字值 0 或 1,也不允许将整型强制转换为布尔型

Byte&Rune

一个 byte 变量大小为1字节,用于表示 ACSCII 码字符,相当于 unit8 类型
rune 变量大小为4字节,用于表示采用 UTF-8 编码的 Unicode 字符,相当于 int32 类型

以 range 遍历 string 返回 rune 类型,以下标遍历返回 byte 类型

var ch byte = 65      // 10进制
// ASCII
var ch byte = '\x41'  // 16进制
var ch byte = '\377'  // 8进制
// UTF-8
var ch2 int = '\u03B2'      // 4字节
var ch3 int = '\U00101234'  // 8字节

指针

nil

nil 代表空指针