break, continue y bucles etiquetados
Controle los bucles con precisión mediante etiquetas.
break, continue y bucles etiquetados es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 4 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 Zig Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Zig Academy incluye 4 lecciones en total.
Dos controles de bucle
Dentro de cualquier bucle, break sale por completo del bucle, mientras que continue salta a la siguiente iteración. Le proporcionan un control preciso del flujo. 🎛️
break sale de inmediato
Cuando se ejecuta break, el bucle se detiene inmediatamente y la ejecución continúa en la línea justo después del bucle. No se ejecuta nada más del cuerpo.
for (items) |x| {
if (x == 0) break;
use(x);
}continue salta hacia delante
Un continue abandona el resto de la iteración actual y pasa a la siguiente, mientras el bucle continúa ejecutándose.
for (items) |x| {
if (x < 0) continue;
total += x;
}Afectan al bucle más interno
De forma predeterminada, break y continue solo afectan al bucle innermost que los contiene. El bucle externo continúa como si no hubiera pasado nada.
Nombrar un bucle
Puede asociar una label a un bucle usando un nombre y dos puntos. Esa etiqueta le permite dirigirse al bucle desde niveles más profundos.
outer: for (rows) |row| {
for (row) |cell| {
check(cell);
}
}break hacia una etiqueta
Escriba break :outer para salir directamente de un bucle externo con nombre desde un bucle anidado. Una sola instrucción deshace ambos niveles.
outer: for (rows) |row| {
for (row) |cell| {
if (cell == target) break :outer;
}
}continue hacia una etiqueta
Use continue :outer para saltar a la siguiente iteración de un bucle externo etiquetado y abandonar inmediatamente el resto del bucle interno.
Las etiquetas sustituyen a las banderas
Antes de usar etiquetas, podía establecer una bandera found y comprobarla después de cada bucle. Un break etiquetado elimina ese código repetitivo y resulta más claro.
Un break etiquetado devuelve un valor
Un bucle etiquetado también puede ser una expresión. break :outer value devuelve ese valor como resultado del bucle etiquetado completo.
const hit = outer: for (rows) |row| {
for (row) |c| {
if (c == target) break :outer c;
}
} else 0;También se pueden etiquetar bloques
Las etiquetas no son solo para bucles. Un block normal puede etiquetarse, y break con un valor convierte ese bloque en una expresión.
const x = blk: {
const t = compute();
break :blk t * 2;
};Mantener el anidamiento superficial
El control etiquetado es potente, pero los bucles profundamente anidados perjudican la readability. Use etiquetas cuando aporten claridad, no para justificar código enrevesado.
Comprobación rápida
Desde un bucle interno quiere salir del bucle externo llamado outer. ¿Qué instrucción lo permite?
Resumen
Ha dominado break y continue: afectan al bucle más interno de forma predeterminada, los bucles etiquetados sirven para el anidamiento, los breaks etiquetados pueden devolver valores y también se pueden etiquetar bloques. 🎯
Aprende Zig con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «break, continue y bucles etiquetados» es gratis?
Sí — el texto completo de «break, continue y bucles etiquetados» 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 Zig Academy, actualiza a CoddyKit PRO. El curso de Zig Academy incluye 4 lecciones en total.
¿Qué aprenderé en «break, continue y bucles etiquetados»?
Controle los bucles con precisión mediante etiquetas. Practicas Zig 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 Zig Academy?
No se requiere experiencia previa. Zig 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 4 de 4.
¿Cuánto tiempo toma la lección «break, continue y bucles etiquetados»?
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 Zig Academy?
Sí. Cada lección de Zig 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
- if como sentencia y expresión
- Bucles while y expresiones continue
- Bucles for sobre rangos y elementos
- break, continue y bucles etiquetados