Sobes.tech
Junior — Middle

Ce rezultate se obțin la parcurgerea secvențială a caracterelor unui șir de caractere?

sobes.tech AI

Răspuns de la AI

Când parcurgeți secvențial caracterele unui șir în Go (Golang), de obicei se folosește un ciclu for range, care iterează peste rune-uri (runes), adică puncte de cod Unicode.

Rezultatul acestei iterații este obținerea fiecărui caracter al șirului ca valoare de tip rune și poziția sa (indice în octeți).

Exemplu:

package main
import (
    "fmt"
)

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

Ieșirea va conține indicele (în octeți) și caracterul corespunzător. Acest lucru este important deoarece în UTF-8, caracterele pot ocupa un număr diferit de octeți.

Astfel, parcurgerea secvențială permite lucrul corect cu șirurile Unicode, obținând fiecare caracter în întregime, nu doar octeți individuali.