首頁 >後端開發 >Golang >如何在 Golang 中將符文轉換為字串?

如何在 Golang 中將符文轉換為字串?

Linda Hamilton
Linda Hamilton原創
2024-11-20 03:50:01715瀏覽

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