So durchlaufen Sie Strings in der Go-Sprache

青灯夜游
Freigeben: 2023-01-14 10:43:52
Original
5891 Leute haben es durchsucht

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.

So durchlaufen Sie Strings in der Go-Sprache

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 {
    ...
}
Nach dem Login kopieren

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 {
    ...
}
Nach dem Login kopieren

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)
	}
}
Nach dem Login kopieren

Die Codeausgabe lautet wie folgt:

So durchlaufen Sie Strings in der Go-Sprache

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
Nach dem Login kopieren
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

So durchlaufen Sie Strings in der Go-Sprache

strEncry implementiert die Funktion, eins zum ASCII-Code eines Zeichens hinzuzufügen, d.

  • 【Verwandte Empfehlungen:

    Go-Video-Tutorial

    ,
  • Programmierunterricht

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage