Bienvenido a Platzi

Juan Diego Mejia Maestre

Juan Diego Mejia Maestre

student
hace 3 meses

🌀 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.
No hay respuestas
Curso de Go

Curso de Go

Programa aplicaciones backend con Go. Aprende variables, funciones, goroutines y manejar concurrency para procesos eficientes. Desarrolla con GoMod y aprovecha paquetes externos. Implementa prácticas recomendadas desde métodos hasta channels.

Curso de Go
Curso de Go

Curso de Go

Programa aplicaciones backend con Go. Aprende variables, funciones, goroutines y manejar concurrency para procesos eficientes. Desarrolla con GoMod y aprovecha paquetes externos. Implementa prácticas recomendadas desde métodos hasta channels.