请解释一下 Go 语言中的 rune 类型的定义和用途。
考察说明
考察对 Go 语言基本数据类型 rune 的理解。
回答思路
- 【回答框架 1】rune 是 Go 语言中表示 Unicode 字符的类型,它是 int32 的别名,占用 4 个字节。
- 【回答框架 2】Go 中的字符串是字节序列,使用 range 遍历字符串时,rune 用于处理多字节的 Unicode 字符。
- 【回答框架 3】rune 实际上存储的是 Unicode 码点(Code Point),比如中文字符的码点通常大于 255,因此需要用 rune 类型来表示。
- 【关键点 1】rune 是 int32 的别名,用于表示 Unicode 码点。
- 【关键点 2】在 range 字符串时,返回的索引和 rune,可以正确遍历每个字符。
- 【关键点 3】使用 rune 可以避免按字节遍历导致的中文乱码问题。
- 【易错点 1】不要直接将 rune 当作 int32 使用,尽管底层相同,但语义不同。
- 【易错点 2】字符串长度 len() 返回的是字节数,而不是 rune 数或字符数。