Contenido del curso

Estructuras de Datos y Funciones

Cuatro formas de usar for en Go

Resumen

El ciclo for en Go funciona como en otros lenguajes de programación, pero con una sintaxis simplificada y cuatro variantes que vale la pena dominar. Si vienes de JavaScript, Python o C, vas a reconocer la lógica de inmediato; lo que cambia es la forma en que Go te permite declarar variables, definir rangos y romper iteraciones con break. Esta guía es para quienes están aprendiendo Go y necesitan entender cuándo usar cada tipo de for.

¿Cómo se escribe un for clásico en Go?

La primera variante es la más reconocible: declaras una variable, defines la condición y aumentas el contador. Crea una carpeta llamada for, dentro un archivo main.go con la estructura base de la función main, y escribe este bloque:

go for i := 1; i <= 3; i++ { fmt.Println(i) }

La variable i viene de iteration y por convención se usa como contador. Acá viene un detalle importante: i++ es exactamente igual a escribir i += 1 o i = i + 1. Las tres formas son equivalentes, solo que i++ se lee más limpio.

¿Por qué se usa la letra i en los ciclos? Porque viene de iteration. Es una convención heredada de lenguajes como C y Fortran, y se mantiene en casi todos los lenguajes modernos.

Si te equivocas y pones i < 3 cuando querías i <= 3, el ciclo imprimirá solo dos valores en lugar de tres. Pequeño detalle, gran diferencia.

¿Cómo comentar código en Go?

Go soporta dos tipos de comentarios y conviene usarlos desde el inicio:

  • // para comentarios de una sola línea.
  • /* */ para comentarios de múltiples líneas.

¿Cómo declarar la variable dentro del for?

La segunda variante te permite declarar la variable directamente en la cabecera del ciclo, igual que en una sentencia if con declaración corta. Así evitas escribir dos líneas separadas.

go for numero := 0; numero <= 3; numero++ { fmt.Println(numero) }

El resultado es prácticamente el mismo que el for anterior, pero arranca desde cero en vez de uno. Recuerda que las iteraciones en programación arrancan casi siempre desde cero, así que ten cuidado con los límites superiores e inferiores cuando definas tu rango.

¿Cómo funciona el for por rango en Go?

La tercera variante usa la palabra reservada range para iterar sobre un valor numérico sin necesidad de incrementar manualmente.

go for rango := range 3 { fmt.Println(rango) }

Acá no hay rango++ ni condición explícita. Go se encarga de iterar desde cero hasta el límite menos uno. Si pones range 3, imprime 0, 1 y 2. Si pones range 5, imprime de 0 a 4. Es la sintaxis más compacta de las cuatro.

¿Qué hace range en un for de Go? Genera una secuencia automática de valores desde cero hasta el límite menos uno, sin que tengas que escribir contador ni incremento.

¿Cómo interrumpir un ciclo con break?

La cuarta variante es un for infinito controlado con break. La palabra reservada break corta el ciclo en el momento exacto en que aparece.

go for { fmt.Println("loop") break }

Aunque parece un ciclo sin condición, el break lo interrumpe en la primera iteración y solo imprime loop una vez. Esto se vuelve poderoso cuando combinas un for con un if adentro: puedes evaluar una condición y romper el ciclo justo cuando se cumpla.

¿Cómo combinar for con if para filtrar valores?

Un caso útil es imprimir solo los números impares dentro de un rango. La lógica es simple: si el valor no es divisible entre dos, lo imprimes.

go for valor := range 6 { if valor%2 != 0 { fmt.Println(valor) } }

El resultado son los valores 1, 3 y 5. Este patrón te sirve para construir secuencias matemáticas, filtrar listas o aplicar cualquier condición sobre un rango. Saber combinar for con if es la base para resolver problemas más complejos en Go.

Las cuatro variantes del for cubren la mayoría de los casos que vas a encontrar:

  1. for clásico con declaración, condición e incremento.
  2. for con declaración corta de variable.
  3. for range para iterar sobre un valor numérico.
  4. for infinito controlado con break.

Domina estas cuatro sintaxis y vas a tener resuelto el 90% de tus iteraciones en Go. Practica escribiendo cada una en tu terminal con go run main.go y comparte en los comentarios cuál se te hizo más útil para tus propios proyectos.