在 Golang 中将 Rune 转换为字符串
要将 rune 转换为字符串,可以使用 strconv.QuoteRune() 函数。但是,在您的代码中,您使用scanner.Scan()来读取符文,这是不正确的。
scanner.Scan()函数读取由Scanner.Mode控制的令牌或特殊令牌的符文位掩码。它不返回符文本身,而是返回 text/scanner 包中的特殊常量。
要读取单个符文,请使用 Scanner.Next() 代替。下面是更正后的代码:
package main import ( "fmt" "strconv" "strings" "text/scanner" ) func main() { var b scanner.Scanner const a = `a` b.Init(strings.NewReader(a)) c := b.Next() fmt.Println(strconv.QuoteRune(c)) }
输出:
'a'
或者,您可以使用类型转换直接将 rune 转换为字符串,因为 rune 是int32:
r := rune('a') fmt.Println(string(r))
输出:
a
为了更方便,您可以使用 for ... range 构造迭代字符串的符文:
for _, r := range "abc" { fmt.Println(string(r)) }
输出:
a b c
您还可以使用以下命令将字符串转换为符文切片[]rune():
runes := []rune("abc") fmt.Println(runes) // Output: [97 98 99]
最后,您可以使用 utf8.DecodeRuneInString() 从字符串中提取符文。
以上是如何在 Go 中将 Rune 转换为字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!