Sobes.tech
Junior — Middle

Quais são as características ao percorrer os caracteres de uma string na programação?

sobes.tech IA

Resposta da IA

Em Go, as strings são representadas como uma sequência de bytes, mas frequentemente contêm caracteres codificados em UTF-8, onde um caractere (uma rune) pode ocupar vários bytes. Ao percorrer uma string por índices (por exemplo, for i := 0; i < len(s); i++) você percorre os bytes, não os caracteres, o que pode levar a um processamento incorreto de caracteres multibyte.

Para percorrer corretamente os caracteres, usa-se um ciclo for range, que itera sobre as runas (pontos de código Unicode):

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

Aqui, i é o índice do primeiro byte da runa na string, e r é a própria runa. Isso é importante para trabalhar corretamente com textos multilíngues e caracteres fora do ASCII.