Middle
Was ist eine Iteration über eine Zeichenkette mit for range in Go? Was sind die Variablen i und v innerhalb der Schleife, welche Datentypen haben sie?
sobes.tech KI
Antwort von AI
In Go wird die Konstruktion for range verwendet, um über Sammlungen zu iterieren, einschließlich Strings. Beim Iterieren über einen String mit for i, v := range str:
iist der Index des aktuellen Zeichens im String, vom Typint.vist der Wert des aktuellen Zeichens, vom Typrune(Unicode-Codepunkt).
Das ist wichtig, weil Strings in Go Sequenzen von Bytes sind, und range über einen String genau die Rune-Zeichen zurückgibt, die multibyte-Zeichen in UTF-8 korrekt behandeln.
Beispiel:
str := "Привет"
for i, v := range str {
fmt.Printf("Index: %d, Zeichen: %c, Typ: %T\n", i, v, v)
}
Die Ausgabe zeigt die Byte-Indizes des Anfangs jedes Zeichens und die Zeichen selbst als Runen.