El bucle for: todos los patrones
Bucles clásicos, de estilo while, infinitos y con range
El bucle for: todos los patrones es una lección gratuita de Go Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Go Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Go Academy incluye 4 lecciones en total.
Go solo tiene un bucle
Go tiene solo el bucle for: no tiene while ni do-while. La palabra clave for cubre todos los patrones de iteración mediante distintas formas.
Bucle for clásico al estilo de C
El bucle tradicional de tres cláusulas:
for i := 0; i < 5; i++ {
fmt.Println(i)
}Bucle al estilo while
Omita las cláusulas de inicialización y posterior para crear un bucle similar a while:
n := 1
for n < 100 {
n *= 2
}Bucle infinito
Omita todas las cláusulas para crear un bucle infinito; debe usar break o return para salir:
for {
msg := receive()
if msg == "quit" {
break
}
process(msg)
}range sobre un slice
range itera sobre un slice y devuelve el índice y el valor:
fruits := []string{"apple", "banana", "cherry"}
for i, fruit := range fruits {
fmt.Printf("%d: %s\n", i, fruit)
}range sobre un map
range sobre un map devuelve pares clave-valor; el orden de iteración es aleatorio:
scores := map[string]int{"Alice": 90, "Bob": 85}
for name, score := range scores {
fmt.Printf("%s: %d\n", name, score)
}range sobre un string
Al aplicar range sobre un string se obtienen valores rune (puntos de código Unicode), no bytes:
for i, r := range "Go!" {
fmt.Printf("index %d: %c\n", i, r)
}range sobre un canal
Range sobre un canal lee valores hasta que el canal se cierra:
ch := make(chan int, 3)
ch <- 1; ch <- 2; ch <- 3
close(ch)
for v := range ch {
fmt.Println(v)
}break y continue
break sale del bucle más interno; continue salta a la siguiente iteración:
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // skip even numbers
}
if i > 7 {
break // stop at 7
}
fmt.Println(i)
}break con etiqueta
Las etiquetas permiten salir de un bucle externo desde el interior de un bucle interno:
outer:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i+j == 3 {
break outer
}
}
}Comprobación rápida
¿Cómo se escribe un bucle infinito en Go?
Resumen: el bucle for
El bucle for de Go cubre todos los patrones de iteración:
- Clásico:
for i := 0; i < n; i++ - Al estilo while:
for condition - Infinito:
for {} - Range: sobre slices, maps, strings y canales
break/continuecon etiquetas opcionales para bucles anidados
Siguiente tema: sentencias switch en Go.
Preguntas frecuentes
¿La lección «El bucle for: todos los patrones» es gratis?
Sí — el texto completo de «El bucle for: todos los patrones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Go Academy, actualiza a CoddyKit PRO. El curso de Go Academy incluye 4 lecciones en total.
¿Qué aprenderé en «El bucle for: todos los patrones»?
Bucles clásicos, de estilo while, infinitos y con range Practicas Go Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Go Academy?
No se requiere experiencia previa. Go Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «El bucle for: todos los patrones»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Go Academy?
Sí. Cada lección de Go Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Sentencias if y expresiones de inicialización
- El bucle for: todos los patrones
- Sentencias switch en Go
- break, continue y etiquetas