访问 Go 字符串中的字符
本题探讨了如何访问 Go 字符串中的字符,深入研究字符串作为切片的本质字节数以及字符、符文和 Unicode 代码点之间的关系。
原始问:
如何在访问“HELLO”[1]时获取“E”字符而不是数值 69?
答案:
要从字符串中检索字符,必须了解 Go 的字符表示。解释后的字符串文字是以 UTF-8 编码的字符序列,其中 ASCII 字符仅占用一个字节。因此,要获得“E”字符,需要进行以下转换:
fmt.Println(string("Hello"[1])) // ASCII only
替代:使用 Runes
对于 Unicode 支持,runes 代表 Unicode码点,可以使用。这些与 UTF-8 字符串兼容:
fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
此代码将输出“e”字符。
Go 的字符处理功能
值得注意的是,Go 提供了字符和字节之间转换的函数。例如,byte(c) 方法将字符(rune)转换为相应的字节,而 rune(b) 将字节转换为字符。
其他阅读:
以上是如何访问 Go 字符串中的单个字符而不是数值?的详细内容。更多信息请关注PHP中文网其他相关文章!