在Go 中將符文轉換為字串
在Go 中,可以將符文(Unicode 程式碼點)轉換為字元串。這對於需要字串操作的各種操作非常有用。
將符文轉換為字串的一種方法是使用 strconv.QuoteRune() 函數。但是,某些使用者在使用此方法時可能會遇到未定義的字元。
要解決此問題,了解 Scanner.Scan() 函數的運作方式非常重要。 Scanner.Scan() 旨在對輸入進行標記,這意味著它可以識別由 Scanner.Mode 位元遮罩控制的特殊符號和標記。在符文上使用 Scanner.Scan() 時,它會從 text/scanner 套件傳回一個特殊常數,而不是符文本身。
要讀取單一符文,建議使用Scanner.Next() 取代:
c := b.Next()
這會將rune 'a' 指派給變數c,你可以使用string 將其轉換為字串轉換:
fmt.Println(c, string(c))
如果您只是需要將單一符文轉換為字串,則可以使用基本型別轉換。由於rune 是int32 的別名,因此可以直接套用整數轉換:
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) }
您還可以使用以下命令將字串轉換為符文切片utf8.DecodeRuneInString():
fmt.Println([]rune("abc"))
請記住,在Go Tokens 模式下使用Scanner.Scan() 方法時,它將符文視為Go 標識符,因此使用Scanner.Next() 來獲得準確的結果至關重要符文讀取。
以上是如何在 Go 中將符文轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!