访问 Golang 字符串中的字符
在 Go 中,访问字符串中的字符与其对应的 ASCII 不同,返回底层字节值而不是角色。由于字符串表示字节数组,因此检索第一个字符会得到其数字 ASCII 表示形式。例如,“HELLO”[1] 返回 69,而不是预期的“E”。
解决方案:转换为 ASCII 或 Unicode 代码点
获取实际值角色,请考虑采用以下技巧:
1. ASCII(单字节字符):
将字节值转换为字符串,有效返回 ASCII 字符:
fmt.Println(string("Hello"[1])) // Prints "e"
2. Unicode(多字节字符):
将字符串转换为符文片段(Unicode 代码点)并访问所需位置:
fmt.Println(string([]rune("Hello, 世界")[1])) // Prints "e" (ASCII) fmt.Println(string([]rune("Hello, 世界")[8])) // Prints "界" (UTF-8)
附加说明:
以上是如何正确访问Go字符串中的字符?的详细内容。更多信息请关注PHP中文网其他相关文章!