官方文档里 写的
//int32的别名,几乎在所有方面等同于int32
//它用来区分字符值和整数值
type rune = int32
他有什么用呢?用处就将中文转为一个只占一个字节的数字。大家都知道中文在utf-8编码里占3个字节,而go语言默认编码格式就是golang。当你想获取一个中文字符串的实际长度而不是字节长度的时候就可以用到rune这个类型了。
func main() {
test := "哈哈呵 hahaha"
fmt.Println(len(test))
fmt.Println("RuneCountInString:", utf8.RuneCountInString(test))
//通过rune类型处理unicode字符
fmt.Println([]rune(test))
}
16
10
[21704 21704 21621 32 104 97 104 97 104 97]