Junior — Middle
Care sunt caracteristicile parcurgerii caracterelor unui șir în programare?
sobes.tech AI
Răspuns de la AI
În Go, șirurile de caractere sunt reprezentate ca o secvență de octeți, dar adesea conțin caractere în codificarea UTF-8, unde un caracter (o rună) poate ocupa mai mulți octeți. Parcurgând un șir după indici (de exemplu, for i := 0; i < len(s); i++) treci prin octeți, nu prin caractere, ceea ce poate duce la o procesare incorectă a caracterelor multibyte.
Pentru a parcurge corect caracterele, se folosește o buclă for range, care iterează peste rune (puncte de cod Unicode):
s := "Привет"
for i, r := range s {
fmt.Printf("indice: %d, caracter: %c\n", i, r)
}
Aici, i este indicele primului octet al rune-ului în șir, iar r este rune-ul în sine. Acest lucru este important pentru a lucra corect cu texte multilingve și caractere în afara ASCII.