- rune
出现缘由:
Go语言中采用的是统一的UTF-8编码,英文字母在底层占1个字节,特殊字符和中文汉字则占用1~3个字节,在Go语言中文的计数和截取并不如其他语言(比如Python)那么容易,所以Go提供了rune
类型来处理中文的计数和分割问题,以支持国际化多语言。
type rune int32
//rune是int32的别名
//官方解释:一般用于区分字符值和整数值
//例子:
s := "阿福Chris"
//统计带中文字符串的长度
fmt.Println(len(s)) //输出11
fmt.Println(len([]rune(s))) //输出7
//截取中文字符串
fmt.Println(s[:2]) //输出乱码�
fmt.Println(string([]rune(s)[:2])) //输出阿福
参考链接:
【1】https://blog.csdn.net/chrisy521/article/details/123494514