Junior — Middle
Quelles sont les particularités lors de la parcours des caractères d'une chaîne en programmation?
sobes.tech IA
Réponse de l'IA
Dans Go, les chaînes sont représentées comme une séquence d'octets, mais contiennent souvent des caractères encodés en UTF-8, où un caractère (une rune) peut occuper plusieurs octets. En parcourant une chaîne par indices (par exemple, for i := 0; i < len(s); i++) vous parcourez les octets, pas les caractères, ce qui peut entraîner un traitement incorrect des caractères multioctets.
Pour parcourir correctement les caractères, on utilise une boucle for range, qui itère sur les runes (points de code Unicode) :
s := "Привет"
for i, r := range s {
fmt.Printf("index : %d, caractère : %c\n", i, r)
}
Ici, i est l'indice du premier octet de la rune dans la chaîne, et r est la rune elle-même. Cela est important pour travailler correctement avec des textes multilingues et des caractères hors ASCII.