Junior — Middle
Was passiert, wenn eine Iteration über String-Elemente in der Programmierung durchgeführt wird?
sobes.tech KI
Antwort von AI
In Go, beim Iterieren über eine Zeichenkette mit der Schleife for range wird nach Unicode-Codepunkten (Runen) durchlaufen, nicht nach Bytes. Das bedeutet, dass jedes Element der Schleife ein Unicode-Zeichen ist, das in UTF-8 mehrere Bytes einnehmen kann.
Zum Beispiel:
s := "Привет"
for i, r := range s {
fmt.Printf("Index: %d, Rune: %c\n", i, r)
}
Hier ist i der Index des ersten Bytes der Rune in der Zeichenkette, und r ist die Rune selbst (das Zeichen).
Auf diese Weise ermöglicht die Iteration über eine Zeichenkette in Go eine korrekte Arbeit mit mehrsprachigen Zeichen und bricht keine Multibyte-Zeichen in UTF-8.