Golang 字符串中的字符索引:UTF-8 解码
虽然 Golang 的字符串文字是用 UTF-8 编码的字符序列,但索引单个字符使用类似数组的语法 string[index] 通过它们的位置可能会产生意想不到的结果。这是因为 UTF-8 字符可以占用多个字节,而按字节位置索引可能会破坏 UTF-8 编码。
为了准确索引和检索单个字符,Golang 提供了几种选项:
使用 Unicode 代码点(符文)
示例:
package main import "fmt" func main() { fmt.Println(string([]rune("HELLO, 世界")[1])) // "E" fmt.Println(string([]rune("HELLO, 世界")[8])) // "界" }
将字节转换为字符
示例:
package main import "fmt" func main() { fmt.Println(string("HELLO"[1])) // "e" }
以上是如何正确索引 Go UTF-8 字符串中的字符?的详细内容。更多信息请关注PHP中文网其他相关文章!