Go面试题更新 2026-08-05

请解释一下 Go 语言中的 rune 类型的定义和用途。

技术原理Go

考察说明

考察对 Go 语言基本数据类型 rune 的理解。

回答思路

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