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.