在 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中文網其他相關文章!