Rune in String in Golang konvertieren
Um eine Rune in einen String umzuwandeln, können Sie die Funktion strconv.QuoteRune() verwenden. In Ihrem Code verwenden Sie jedoch scanner.Scan(), um eine Rune zu lesen, was falsch ist.
Die Funktion scanner.Scan() liest Token oder Runen spezieller Token, die vom Scanner.Mode gesteuert werden Bitmaske. Es gibt nicht die Rune selbst zurück, sondern spezielle Konstanten aus dem Paket text/scanner.
Um eine einzelne Rune zu lesen, verwenden Sie stattdessen Scanner.Next(). Hier ist der korrigierte Code:
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)) }
Ausgabe:
'a'
Alternativ können Sie eine Rune mithilfe der Typkonvertierung direkt in eine Zeichenfolge konvertieren, da Rune ein Alias für int32 ist:
r := rune('a') fmt.Println(string(r))
Ausgabe:
a
Für mehr Komfort können Sie iterieren Sie über die Runen einer Zeichenfolge mit dem for ...-Bereichskonstrukt:
for _, r := range "abc" { fmt.Println(string(r)) }
Ausgabe:
a b c
Sie können eine Zeichenfolge auch mit [] in ein Runensegment konvertieren. rune():
runes := []rune("abc") fmt.Println(runes) // Output: [97 98 99]
Schließlich können Sie utf8.DecodeRuneInString() verwenden, um eine Rune aus a zu extrahieren Zeichenfolge.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Rune in eine Zeichenfolge in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!