Golang Reverse String

Golang Reverse String
In Go ist eine Zeichenfolge eine Folge von UTF-8-Bytes. Gemäß dem UTF-8-Codierungsstandard sind ASCII-Zeichen Single-Byte. Andere Zeichen liegen jedoch zwischen 1 und 4 Bytes. Aufgrund dieser Inkonsistenz ist es fast unmöglich, ein bestimmtes Zeichen in einer Zeichenfolge zu indizieren.

Wenn wir ein Zeichen in Go indexieren wollen, können wir eine Zeichenfolge in ein Array oder eine Rune umwandeln. Eine Rune ist im Grunde ein Unicode -Punkt. Ein Unicode -Punkt bezieht sich auf einen numerischen Wert, der einen Unicode -Zeichen darstellt.

In diesem kurzen Artikel wird er erfahren, wie Sie eine Zeichenfolge umkehren, indem Sie ihn zuerst in eine Reihe von Runen umwandeln.

Reverse String - Rune von Rune

Betrachten Sie das Beispielprogramm unten:

Paket Main
importieren (
"fmt"
)
func main ()
STR: = "Hallo"
Rune_arr: = [] Rune (str)
var rev [] rune
für i: = len (Rune_arr) - 1; i> = 0; ich--
rev = append (rev, rune_arr [i])

fmt.Println ("Reverse:", String (rev))

Im obigen Beispiel beginnen wir zunächst die Zeichenfolge „str“ in ein Array von Runen umwandeln. Dies ermöglicht es uns, einzelne Zeichen in der Zeichenfolge zu indizieren.

Sobald wir den Index einzelner Zeichen haben, fügen wir jedes Zeichen an eine neue Zeichenfolge hinzu, die vom Ende bis zum Start beginnt.

Die resultierende Ausgabe ist die Zeichenfolge in umgekehrter Reihenfolge wie:

Reverse: Olleh

Reverse String - Byte

Wie bereits erwähnt, ist eine Zeichenfolge eine Folge von Bytes. Daher können wir die Rückseite einer Zeichenfolge erstellen, indem wir jedes Byte jeweils umkehren.

Nehmen Sie das folgende Beispiel:

Func Reverse (s String) String
var byte saiten.Erbauer
Byte.Wachsen (len (s))
für i: = len (s) - 1; i> = 0; ich--
Byte.WriteByte (s [i])

Byte zurückgeben.String ()

Das obige Beispiel wandelt eine Zeichenfolge durch, indem sie Byte durch Byte umgekehrt wird.

Abschluss

Dieser Artikel zeigt Ihnen, wie Sie eine Zeichenfolge in der Go -Programmiersprache umkehren können.

Übe weiter!