概述
Go 中示意字符的关键字为 rune
, 也就是 int32
的别名。
ASCII
码只须要 7 bit 就能够残缺地示意,但只能示意英文字母在内的128个字符。
为了示意世界上大部分的文字零碎,创造了 Unicode
, 它是 ASCII
的超集,蕴含世界上书写零碎中存在的所有字符,
并为每个代码调配一个规范编号(称为Unicode CodePoint),在 Go 中称之为 rune
。
语法规定
由单引号 '
括起来,只能蕴含一个字符
字符串长度
对于字符串不同编码对长度的计算形式,感兴趣的读者能够参考扩大浏览。
例子
package mainimport ( "fmt" "unicode/utf8")func main() { s := 'a' fmt.Printf("s type = %T, len = %d\n", s, utf8.RuneLen(s)) s2 := '我' fmt.Printf("s2 type = %T, len = %d\n", s, utf8.RuneLen(s2))}// $ go run main.go// 输入如下/** s type = int32, len = 1 s2 type = int32, len = 3*/
扩大浏览
- 十分钟搞清字符集和字符编码