主题
字符与 Unicode
Go 语言中的字符以 Unicode 标准为基础,支持多语言字符集。
1. 字符类型(rune)
rune
是 Go 中表示单个 Unicode 码点的类型,实际上是 int32
的别名。
go
var ch rune = '中'
fmt.Println(ch) // 输出:20013(Unicode码点)
fmt.Printf("%c\n", ch) // 输出:中
2. Unicode 与字符串
字符串是 UTF-8 编码的字节序列,一个字符可能由多个字节组成。
go
s := "Hello 中"
fmt.Println(len(s)) // 字节长度
fmt.Println(utf8.RuneCountInString(s)) // 字符数量
需要导入 "unicode/utf8"
包。
3. 遍历字符串
按字符遍历字符串:
go
for i, r := range s {
fmt.Printf("%d: %c\n", i, r)
}
理解字符与 Unicode 有助于正确处理多语言文本和编码转换。