Sobes.tech
Junior — Middle

¿Cuáles son las características al recorrer los caracteres de una cadena en programación?

sobes.tech AI

Respuesta de la IA

En Go, las cadenas se representan como una secuencia de bytes, pero a menudo contienen caracteres en codificación UTF-8, donde un carácter (una runa) puede ocupar varios bytes. Al recorrer una cadena por índices (por ejemplo, for i := 0; i < len(s); i++) se recorren los bytes, no los caracteres, lo que puede llevar a un procesamiento incorrecto de caracteres multibyte.

Para recorrer correctamente los caracteres, se usa un ciclo for range, que itera sobre las runas (puntos de código Unicode):

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

Aquí, i es el índice del primer byte de la runa en la cadena, y r es la propia runa. Esto es importante para trabajar correctamente con textos multilingües y caracteres fuera del ASCII.