Sobes.tech
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.