Heim > Artikel > Backend-Entwicklung > So durchlaufen Sie Strings in der Go-Sprache
String-Traversal-Methode: 1. Verwenden Sie zum Durchlaufen die Anweisung „for range“, die Syntax „for key, value := range str {...}“ 2. Verwenden Sie zum Durchlaufen die Map()-Funktion des Strings-Pakets , die Syntax „trings“ .Map(func(rune), original string)“, wobei der Parameter „func(rune)“ eine Rückruffunktion ist, die zum Verarbeiten jedes Zeichens in der Zeichenfolge verwendet wird.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.
Methoden zum Durchlaufen von Zeichenfolgen in der Go-Sprache
Methode 1: Verwenden Sie die for-Range-Anweisung
Die for-Range-Struktur ist eine einzigartige Iterationsstruktur der Go-Sprache und in vielen Situationen sehr nützlich Range kann Arrays, Slices, Strings, Maps und Kanäle durchlaufen. Die Syntax von foreach ähnelt der foreach-Anweisung in anderen Sprachen. Die allgemeine Form lautet:
for key, val := range coll { ... }
Es ist zu beachten, dass val immer der entsprechende Index in der Sammlung ist Wertkopie, daher ist sie im Allgemeinen nur schreibgeschützt und alle daran vorgenommenen Änderungen wirken sich nicht auf die Originalwerte in der Sammlung aus. Eine Zeichenfolge ist eine Sammlung von Unicode-codierten Zeichen (oder Runen), daher kann sie auch zum Durchlaufen von Zeichenfolgen verwendet werden:
for pos, char := range str { ... }
Jedes Runenzeichen und Index stehen in der for-Range-Schleife in einer Eins-zu-eins-Entsprechung, und das ist auch möglich Erkennt automatisch Unicode-kodierte Zeichen gemäß den UTF-8-Regeln.
Der folgende Code zeigt, wie eine Zeichenfolge durchlaufen wird:
package main import ( "fmt" ) func main() { var str = "hello 你好" for key, value := range str { fmt.Printf("key:%d value:0x%x\n", key, value) } }
Die Codeausgabe lautet wie folgt:
Der tatsächliche Typ des Variablenwerts im Code ist der Runentyp, und die hexadezimale Darstellung ist die Kodierung des Charakters.
Methode 2: Verwenden Sie die Funktion strings.Map()
Während des Entwicklungsprozesses müssen wir jedes Zeichen in einer Zeichenfolge entsprechend verarbeiten. In der Go-Sprache werden Zeichenfolgen implementiert eine solche Funktion.
func Map(mapping func(rune) rune, s string) string
Parameter | Beschreibung |
---|---|
Zuordnung | Die Verarbeitungsfunktion für jedes Zeichen in der Zeichenfolge. |
s | Originalsaite. |
Rückgabewert:
Gibt die verarbeitete Zeichenfolge zurück.
Erklärung:
Ordnen Sie jedes Zeichen in der Zeichenfolge s zu. Mapping ist eine anonyme Funktion, die einen Runentyp-Parameter akzeptiert und einen Runentyp-Parameter zurückgibt.
Beispiel 1: Durchlaufen Sie die Zeichenfolge und verschieben Sie jedes Zeichen der Zeichenfolge um eins nach hinten ()-Funktion verarbeitet jedes Zeichen der Zeichenfolge mithilfe der strEncry-Funktion und verwendet print, um das Endergebnis zu drucken. Die Funktion
strEncry implementiert die Funktion, eins zum ASCII-Code eines Zeichens hinzuzufügen, d.Go-Video-Tutorial
,Das obige ist der detaillierte Inhalt vonSo durchlaufen Sie Strings in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!