Sobes.tech
Middle

¿Qué es la iteración sobre una cadena usando for range en Go? ¿Qué son las variables i y v dentro del ciclo, cuáles son sus tipos de datos?

sobes.tech AI

Respuesta de la IA

En Go, la construcción for range se usa para iterar sobre colecciones, incluyendo cadenas. Al iterar sobre una cadena con for i, v := range str:

  • i es el índice del carácter actual en la cadena, de tipo int.
  • v es el valor del carácter actual, de tipo rune (punto de código Unicode).

Esto es importante porque en Go las cadenas son secuencias de bytes, y range sobre una cadena devuelve exactamente caracteres rune, manejando correctamente los caracteres multibyte en UTF-8.

Ejemplo:

str := "Привет"
for i, v := range str {
    fmt.Printf("Índice: %d, Carácter: %c, Tipo: %T\n", i, v, v)
}

La salida mostrará los índices de los bytes iniciales de cada carácter y los propios caracteres como runas.