Sobes.tech
Junior — Middle

Cosa succede quando si esegue un'iterazione sugli elementi stringa in programmazione?

sobes.tech AI

Risposta dell'AI

In Go, durante l'iterazione su una stringa con il ciclo for range, si attraversano i punti di codice Unicode (rune), non i byte. Ciò significa che ogni elemento del ciclo è un carattere Unicode, che può occupare più byte in UTF-8.

Ad esempio:

s := "Привет"
for i, r := range s {
    fmt.Printf("Indice: %d, Runa: %c\n", i, r)
}

Qui, i è l'indice del primo byte della runa nella stringa, e r è la stessa runa (carattere).

In questo modo, l'iterazione su una stringa in Go permette di lavorare correttamente con caratteri multilingue e non rompe i caratteri multibyte in UTF-8.