Heim >Backend-Entwicklung >Golang >Wie konvertiert man Runen in Go in Strings?
Runen in Strings in Go konvertieren
In Go ist es möglich, eine Rune (einen Unicode-Codepunkt) in einen String umzuwandeln. Dies kann für verschiedene Vorgänge nützlich sein, die eine String-Manipulation erfordern.
Eine Möglichkeit, eine Rune in einen String umzuwandeln, ist die Verwendung der Funktion strconv.QuoteRune(). Bei der Verwendung dieser Methode kann es jedoch bei einigen Benutzern zu undefinierten Zeichen kommen.
Um dieses Problem zu beheben, ist es wichtig zu verstehen, wie die Funktion Scanner.Scan() funktioniert. Scanner.Scan() dient zur Tokenisierung von Eingaben, was bedeutet, dass es spezielle Symbole und Token erkennt, die von der Scanner.Mode-Bitmaske gesteuert werden. Wenn Scanner.Scan() für eine Rune verwendet wird, wird eine spezielle Konstante aus dem Text-/Scanner-Paket zurückgegeben, nicht die Rune selbst.
Um eine einzelne Rune zu lesen, wird empfohlen, stattdessen Scanner.Next() zu verwenden :
c := b.Next()
Dadurch wird die Rune „a“ der Variablen c zugewiesen, und Sie können sie mithilfe von String-Umwandlung in einen String umwandeln:
fmt.Println(c, string(c))
Wenn Sie einfach eine Konvertierung benötigen Um eine einzelne Rune in eine Zeichenfolge umzuwandeln, können Sie eine einfache Typkonvertierung verwenden. Da rune ein Alias für int32 ist, können Ganzzahlkonvertierungen direkt angewendet werden:
r := rune('a') fmt.Println(r, string(r))
Um über die Runen eines Strings zu iterieren, können Sie das for ... Range-Konstrukt verwenden:
for i, r := range "abc" { fmt.Printf("%d - %c (%v)\n", i, r, r) }
Sie können eine Zeichenfolge auch mit utf8.DecodeRuneInString() in ein Runensegment konvertieren:
fmt.Println([]rune("abc"))
Denken Sie daran, dass bei Verwendung der Scanner.Scan()-Methode im Go-Tokens-Modus Runen wie behandelt werden Go-Identifikatoren, daher ist es wichtig, Scanner.Next() für eine genaue Runenlesung zu verwenden.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Runen in Go in Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!