Was ist eine Rune in Go?
Go verwendet den Begriff „Rune“ als Alias für den ganzzahligen Datentyp int32. Das ist etwas verwirrend, da Ganzzahlen normalerweise nicht zur Darstellung von Zeichen verwendet werden. In Go spielen Runen jedoch eine wichtige Rolle bei der Zeichenmanipulation.
Runenliterale
Runenliterale in Go werden dargestellt, indem ein einzelnes Zeichen in einfache Anführungszeichen gesetzt wird, z als „a“ oder „z“. Diese Literale repräsentieren tatsächlich Unicode-Codepunkte. „a“ entspricht beispielsweise dem Codepunkt 97.
Runenbasierte Zeichenmanipulation
Die bereitgestellte SwapRune-Funktion verwendet eine Rune als Eingabe und vertauscht die Groß-/Kleinschreibung. Es verwendet eine Switch-Anweisung, um zwei Fälle zu behandeln: Kleinbuchstaben in Großbuchstaben umwandeln und umgekehrt.
Die Bedingungen in der Switch-Anweisung, wie z. B. 'a' <= r && r <= 'z', Vergleichen Sie den Wert der Rune mit den Unicode-Codepunkten für „a“ und „z“. Wenn die Rune in diesen Bereich fällt, wird sie als Kleinbuchstabe betrachtet und ihr Codepunkt wird entsprechend angepasst, um die Großbuchstabenversion zu erzeugen.
Rune- und String-Manipulation
Der SwapCase Die Funktion demonstriert die Verwendung von Runen bei der String-Manipulation. Es verwendet die strings.Map-Funktion, um die SwapRune-Funktion auf jede Rune in der Eingabezeichenfolge anzuwenden und so effektiv die Groß-/Kleinschreibung aller Zeichen zu vertauschen.
Byte vs. Rune
Während Runen zur Darstellung von Unicode-Codepunkten verwendet werden, stellen Bytes einzelne Bytes in einer Bytesequenz dar. In ASCII, wo jedes Zeichen durch ein einzelnes Byte dargestellt wird, sind Runen und Bytes austauschbar. Allerdings kann in Unicode, das einen größeren Zeichenbereich unterstützt, ein einzelnes Unicode-Zeichen mit mehreren Bytes kodiert werden. In diesen Situationen bieten Runen eine genauere Darstellung von Zeichen als Bytes.
Das obige ist der detaillierte Inhalt vonWas sind Runen und wie unterscheiden sie sich von Bytes in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!