Zig Academy · Lezione

Cicli while ed espressioni continue

Ripetere operazioni con condizioni e azioni di avanzamento

Lezione 2 di 413 passaggi

Cicli while ed espressioni continue è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 2 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.

Ripetere con while

Un ciclo while ripete il proprio corpo finché una condizione bool rimane true. Controlla la condizione prima di ogni iterazione. 🔁

while (i < 5) {
    std.debug.print("{}\n", .{i});
    i += 1;
}

Controllata prima di ogni iterazione

Zig verifica prima la condizione, quindi un while la cui condizione iniziale è false viene eseguito zero volte. Non è garantita alcuna esecuzione del corpo.

Evitare i cicli infiniti

Ogni iterazione dovrebbe avvicinarsi a rendere la condizione false. Se dimentica di aggiornare la variabile, il ciclo continuerà all’infinito.

L’espressione continue

Zig aggiunge una continue expression dopo i due punti. Viene eseguita alla fine di ogni iterazione: è il posto ideale per aggiornare il passo.

var i: usize = 0;
while (i < 5) : (i += 1) {
    work(i);
}

Perché lo slot continue è utile

Inserire il passo nello slot continue lo mantiene visibile in alto e garantisce che venga eseguito anche dopo che un’istruzione continue ha fatto avanzare il ciclo.

Saltare con continue

L’istruzione continue passa immediatamente all’iterazione successiva, saltando il resto del corpo ma eseguendo comunque la continue expression.

while (i < 10) : (i += 1) {
    if (i % 2 == 0) continue;
    odd_sum += i;
}

Fermarsi in anticipo con break

Usi break per uscire subito da un ciclo while, anche quando la condizione è ancora true. Il controllo riprende dopo il ciclo.

while (true) {
    if (done()) break;
}

while come espressione

Un while può produrre un valore. break fornisce il risultato in caso di successo, mentre una clausola else fornisce il valore quando il ciclo termina normalmente.

const found = while (i < n) : (i += 1) {
    if (match(i)) break i;
} else null;

Iterare sugli optional

Un while può continuare a rimuovere il wrapping di un optional, eseguendosi finché sono presenti valori e terminando non appena incontra null.

while (it.next()) |item| {
    process(item);
}

Iterare sugli errori

Come if, un while può catturare un errore in un ramo else quando l’espressione sottoposta a wrapping restituisce una error union invece di un valore.

Cicli infiniti intenzionali

A volte si desidera un ciclo infinito deliberato. Scrivere while (true) con un break al suo interno è il modello idiomatico per un event loop in Zig.

Verifica rapida

Quando viene eseguita la continue expression di Zig durante un ciclo while?

Riepilogo

Ha usato while: cicli con controllo iniziale della condizione, la continue expression per aggiornare ordinatamente il passo, break e continue e la forma espressione che restituisce un valore. 🎯

Gratis per iniziare

Impara Zig con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Cicli while ed espressioni continue» è gratuita?

Sì — il testo completo di «Cicli while ed espressioni continue» è 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 «Cicli while ed espressioni continue»?

Ripetere operazioni con condizioni e azioni di avanzamento 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 2 di 4.

Quanto tempo richiede la lezione «Cicli while ed espressioni continue»?

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

  1. if come istruzione ed espressione
  2. Cicli while ed espressioni continue
  3. Cicli for su intervalli ed elementi
  4. break, continue e cicli con etichette
← Torna a Zig Academy