break, continue e cicli con etichette
Controllare con precisione i cicli usando le etichette
break, continue e cicli con etichette è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Zig Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Zig Academy include 4 lezioni in totale.
Due controlli del ciclo
All’interno di qualsiasi ciclo, break esce completamente dal ciclo, mentre continue passa all’iterazione successiva. Offrono un controllo preciso del flusso. 🎛️
break esce subito
Quando viene eseguito break, il ciclo si interrompe immediatamente e l’esecuzione riprende nella riga subito dopo il ciclo. Non viene eseguito altro nel corpo.
for (items) |x| {
if (x == 0) break;
use(x);
}continue passa oltre
Un continue abbandona il resto dell’iterazione corrente e passa a quella successiva, lasciando il ciclo in esecuzione.
for (items) |x| {
if (x < 0) continue;
total += x;
}Agiscono sul ciclo più interno
Per impostazione predefinita, break e continue influenzano solo il ciclo più interno che li contiene. Un ciclo esterno continua a funzionare come se nulla fosse accaduto.
Dare un nome a un ciclo
Può applicare un label a un ciclo usando un nome seguito dai due punti. Questo label consente di indirizzare il ciclo da un livello più interno.
outer: for (rows) |row| {
for (row) |cell| {
check(cell);
}
}break verso un label
Scriva break :outer per uscire direttamente da un ciclo esterno denominato, dall’interno di un ciclo annidato. Una sola istruzione chiude entrambi i livelli.
outer: for (rows) |row| {
for (row) |cell| {
if (cell == target) break :outer;
}
}continue verso un label
Usi continue :outer per passare all’iterazione successiva di un ciclo esterno con label, abbandonando immediatamente il resto del ciclo interno.
I label sostituiscono i flag
Prima dei label avrebbe potuto impostare un flag found e controllarlo dopo ogni ciclo. Un break con label elimina questo codice ripetitivo ed è più leggibile.
Un break con label restituisce un valore
Anche un ciclo con label può essere un’espressione. break :outer value restituisce quel valore come risultato dell’intero ciclo con label.
const hit = outer: for (rows) |row| {
for (row) |c| {
if (c == target) break :outer c;
}
} else 0;Anche i blocchi possono avere label
I label non servono solo per i cicli. È possibile assegnare un label a un semplice block e trasformare quel blocco in un’espressione con un break che restituisce un valore.
const x = blk: {
const t = compute();
break :blk t * 2;
};Mantenga la anidación superficial
El control etiquetado es potente, pero los bucles profundamente anidados perjudican la legibilidad. Recurra a las etiquetas cuando aporten claridad, no para justificar un código enrevesado.
Comprobación rápida
Desde un bucle interno, desea salir del bucle externo llamado outer. ¿Qué instrucción lo permite?
Repaso
Ha dominado break y continue: el bucle más interno de forma predeterminada, bucles etiquetados para la anidación, breaks etiquetados que devuelven valores y bloques etiquetados. 🎯
Domande Frequenti
La lezione «break, continue e cicli con etichette» è gratuita?
Sì — il testo completo di «break, continue e cicli con etichette» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Zig Academy, passa a CoddyKit PRO. Il corso Zig Academy include 4 lezioni in totale.
Cosa imparerò in «break, continue e cicli con etichette»?
Controllare con precisione i cicli usando le etichette Eserciti Zig Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Zig Academy?
Non è richiesta alcuna esperienza precedente. Zig Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «break, continue e cicli con etichette»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Zig Academy?
Sì. Ogni lezione Zig Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- if come istruzione ed espressione
- Cicli while ed espressioni continue
- Cicli for su intervalli ed elementi
- break, continue e cicli con etichette