Juan Diego Mejia Maestre
🌀 El Ciclo for en Go: La Única Estructura de Iteración
En Go, no existen los ciclos while o do-while. El for es la herramienta universal para repetir tareas, lo que hace que el lenguaje sea más limpio y eficiente.
💡 Estructura Básica (Estilo C)
Es la forma más común de iterar con un contador definido.
- Sintaxis: for inicialización; condición; post-operación { ... }
Go
for i := 0; i < 3; i++ { fmt.Println("Iteración:", i) }
🚀 Formas de Incrementar
Aunque hay varias, la comunidad de Go prefiere la brevedad:
- i++ → Estándar de la industria ✅
- i += 1 → Útil si el incremento es mayor a 1.
- i = i + 1 → Poco frecuente.
🛠️ Variaciones Avanzadas (Más allá de lo básico)
1. El "While" de Go
Si omites la inicialización y la post-operación, el for funciona como un while.
Go
n := 0 for n < 5 { n++ }
2. Ciclo Infinito y Control de Flujo
Se usa para procesos que deben correr permanentemente (como servidores) hasta que se fuerce su salida.
- break: Sale del bucle inmediatamente.
- continue: Salta a la siguiente iteración (ideal para filtros).
Go
for { if listo { break } }
3. Iteración sobre Colecciones (range)
Es la forma más poderosa de recorrer slices, arrays o maps. Devuelve tanto el índice como el valor.
Go
nombres := []string{"Go", "Python", "Rust"} for indice, valor := range nombres { fmt.Printf("En la posición %d está %s\n", indice, valor) }
💡 Dato Pro: Si no necesitas el índice, usa el identificador blanco _: for _, valor := range nombres { ... }
⚠️ Notas para el Desarrollador
- Scope (Alcance): Las variables declaradas en la inicialización (ej. i := 0) solo existen dentro del ciclo.
- Performance: El uso de range en Go es altamente eficiente porque el compilador lo optimiza según el tipo de dato.
- Zero-value: Si usas range [3]int{}, recuerda que los valores por defecto serán 0.
