Go语言使用UTF-8编码,因此任何字符都可以用Unicode表示。为此,Go在代码中引入了一个新术语,称为 rune。rune是int32的类型别名:

// rune is an alias for int32 and is equivalent to int32 in all ways. It is
// used, by convention, to distinguish character values from integer values.
type rune = int32

另外,字符串经常被转换为[]byte使用,要详细说清楚runebyte、字符串之间的关系,必须得从人和宇宙的关系说起,呸!从字符编码说起。

……

阅读全文