while-loopar och continue-uttryck
Loopa med villkor och stegvisa åtgärder
while-loopar och continue-uttryck är en gratis lektion i Zig Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Zig Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Zig Academy innehåller totalt 4 lektioner.
Upprepa med while
En while-loop upprepar sin kropp så länge ett bool-villkor förblir true. Den kontrollerar villkoret före varje varv. 🔁
while (i < 5) {
std.debug.print("{}\n", .{i});
i += 1;
}Kontrolleras före varje varv
Zig testar villkoret först, så en while vars villkor börjar som false körs noll gånger. Kroppen garanteras aldrig att köras.
Undvika oändliga loopar
Varje iteration bör föra dig närmare att göra villkoret false. Om du glömmer att uppdatera variabeln snurrar loopen för evigt.
continue-uttrycket
Zig lägger till ett continue-uttryck efter ett kolon. Det körs i slutet av varje iteration och är den perfekta platsen för din steguppdatering.
var i: usize = 0;
while (i < 5) : (i += 1) {
work(i);
}Varför continue-platsen hjälper
Genom att placera steget på continue-platsen hålls det synligt högst upp och du garanterar att det körs även efter att en continue-sats hoppar vidare.
Hoppa över med continue
Satsen continue hoppar omedelbart till nästa iteration och hoppar över resten av kroppen, men kör fortfarande continue-uttrycket.
while (i < 10) : (i += 1) {
if (i % 2 == 0) continue;
odd_sum += i;
}Avsluta tidigt med break
Använd break för att lämna en while-loop direkt, även när villkoret fortfarande är true. Körningen fortsätter efter loopen.
while (true) {
if (done()) break;
}while som uttryck
En while kan ge ett värde. break tillhandahåller resultatet vid framgång, och en else-sats ger värdet när loopen avslutas normalt.
const found = while (i < n) : (i += 1) {
if (match(i)) break i;
} else null;Iterera över optionals
En while kan fortsätta att packa upp en optional och köras så länge värden finns, för att avslutas i samma ögonblick som den ser null.
while (it.next()) |item| {
process(item);
}Iterera över fel
Precis som if kan en while fånga ett fel i en else-gren när det uppackade uttrycket returnerar en error union i stället för ett värde.
Oändliga loopar med avsikt
Ibland vill du ha en avsiktlig loop som kör för evigt. Att skriva while (true) med ett break inuti är det idiomatiska mönstret för en event-loop i Zig.
Snabb kontroll
Var körs Zigs continue-uttryck under en while-loop?
Sammanfattning
Du har arbetat med while: loopar som testar villkoret först, continue-uttrycket för tydliga steg, break och continue samt uttrycksformen som returnerar ett värde. 🎯
Lär dig Zig med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”while-loopar och continue-uttryck” gratis?
Ja – hela texten till ”while-loopar och continue-uttryck” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Zig Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Zig Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”while-loopar och continue-uttryck”?
Loopa med villkor och stegvisa åtgärder Ni övar på Zig Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Zig Academy?
Du behöver inga förkunskaper. Utbildningen i Zig Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”while-loopar och continue-uttryck”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Zig Academy-lektionen?
Ja. Varje Zig Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- if som sats och uttryck
- while-loopar och continue-uttryck
- for-loopar över intervall och objekt
- break, continue och namngivna loopar