首页  >  文章  >  后端开发  >  如何在 Golang 中将符文转换为字符串?

如何在 Golang 中将符文转换为字符串?

Linda Hamilton
Linda Hamilton原创
2024-11-20 03:50:01659浏览

How to Convert a Rune to a String in Golang?

在 Golang 中将符文转换为字符串

您担心将符文转换为字符串并打印它,遇到未定义的字符。让我们深入研究这个问题并找到解决方案。

首先,在您的原始代码中,您使用 Scanner.Scan() 来读取符文。但是,此方法旨在处理具有特殊令牌值的令牌或符文,而不是实际读取的符文本身。

要读取单个符文,您应该使用 Scanner.Next():

c := b.Next()
fmt.Println(c, string(c), strconv.QuoteRune(c))

此代码现在将正确读取并打印符文作为整数、其字符表示形式及其引用版本。

或者,如果您如果想要简单地将符文转换为字符串,可以使用简单的类型转换。 Rune 是 int32 的别名,将整数转换为字符串会生成其 UTF-8 表示形式。

r := rune('a')
fmt.Println(r, string(r))

要迭代字符串的 rune,可以使用 for ... range 循环:

for i, r := range "abc" {
    fmt.Printf("%d - %c (%v)\n", i, r, r)
}

您还可以使用以下命令将字符串转换为符文切片[]rune("abc")。

另一个选项是使用 utf8.DecodeRuneInString()。

在使用 Scanner.Scan() 的原始代码中,您无意中将扫描仪的模式配置为处理 Go 令牌,其中包括像“a”这样的标识符。调用 Scan() 然后返回 Scanner.Ident 并打印标识符的文本,导致未定义的字符。

以上是如何在 Golang 中将符文转换为字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

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