首页 >后端开发 >Golang >如何访问 Go 字符串中的单个字符而不是数值?

如何访问 Go 字符串中的单个字符而不是数值?

DDD
DDD原创
2024-12-13 03:13:13526浏览

How to Access Individual Characters in a Go String Instead of Their Numerical Values?

访问 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 编程语言规范部分转换](https://go.dev/ref/spec#Conversions)
  • [Go 博客:Go 中的字符串、字节、符文和字符](https://blog.golang.org/strings )

以上是如何访问 Go 字符串中的单个字符而不是数值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn