7.5 Go 中的 rune 类型是什么?

rune 可以理解成一个字符,比如 a 都是一个字符。

rune,占用4个字节,共32位比特位,所以它和 int32 本质上也没有区别。它表示的是一个 Unicode字符(Unicode是一个可以表示世界范围内的绝大部分字符的编码规范)。

var a byte = 'A'
var b rune = 'B'
fmt.Printf("a 占用 %d 个字节数\nb 占用 %d 个字节数", unsafe.Sizeof(a), unsafe.Sizeof(b))

// output
a 占用 1 个字节数
b 占用 4 个字节数