break, continue i pętle etykietowane
Precyzyjnie steruj pętlami za pomocą etykiet.
break, continue i pętle etykietowane to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Zig Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Zig Academy zawiera 4 lekcji w sumie.
Dwa sposoby sterowania pętlą
Wewnątrz dowolnej pętli break całkowicie ją opuszcza, a continue przechodzi do następnej iteracji. Zapewniają one precyzyjną kontrolę nad przepływem. 🎛️
break natychmiast opuszcza pętlę
Gdy wykonywane jest break, pętla natychmiast się zatrzymuje, a wykonanie jest wznawiane w wierszu znajdującym się bezpośrednio za pętlą. Nic więcej w jej ciele nie zostaje wykonane.
for (items) |x| {
if (x == 0) break;
use(x);
}continue przechodzi dalej
continue pomija resztę bieżącego przebiegu i przechodzi do następnej iteracji, pozostawiając samą pętlę aktywną.
for (items) |x| {
if (x < 0) continue;
total += x;
}Dotyczą pętli najbardziej wewnętrznej
Domyślnie break i continue wpływają tylko na najbardziej wewnętrzną otaczającą je pętlę. Zewnętrzna pętla działa dalej, jak gdyby nic się nie wydarzyło.
Nadawanie pętli nazwy
Można dołączyć do pętli etykietę w postaci nazwy i dwukropka. Etykieta umożliwia odwołanie się do tej pętli z głębiej zagnieżdżonego kodu.
outer: for (rows) |row| {
for (row) |cell| {
check(cell);
}
}break do etykiety
Zapisz break :outer, aby bezpośrednio opuścić nazwaną zewnętrzną pętlę z poziomu pętli zagnieżdżonej. Jedna instrukcja rozwija oba poziomy.
outer: for (rows) |row| {
for (row) |cell| {
if (cell == target) break :outer;
}
}continue do etykiety
Użyj continue :outer, aby przejść do następnej iteracji oznaczonej etykietą zewnętrznej pętli i natychmiast pominąć resztę pętli wewnętrznej.
Etykiety zastępują flagi
Przed wprowadzeniem etykiet można było ustawić flagę found i sprawdzać ją po każdej pętli. break z etykietą usuwa ten kod pomocniczy i jest czytelniejszy.
break z etykietą zwraca wartość
Pętla z etykietą może również być wyrażeniem. break :outer value przekazuje tę wartość jako wynik całej pętli z etykietą.
const hit = outer: for (rows) |row| {
for (row) |c| {
if (c == target) break :outer c;
}
} else 0;Etykiety dotyczą także bloków
Etykiety nie służą tylko do pętli. Zwykły blok również może mieć etykietę, a break z wartością zmienia ten blok w wyrażenie.
const x = blk: {
const t = compute();
break :blk t * 2;
};Unikaj głębokiego zagnieżdżania
Sterowanie za pomocą etykiet jest potężne, ale głęboko zagnieżdżone pętle pogarszają czytelność. Sięgaj po etykiety wtedy, gdy wyjaśniają kod, a nie po to, by usprawiedliwiać jego splątanie.
Szybkie sprawdzenie
Z wewnętrznej pętli chcesz wyjść z zewnętrznej pętli o nazwie outer. Która instrukcja to zrobi?
Podsumowanie
Opanowano break i continue: domyślnie dotyczą najbardziej wewnętrznej pętli, etykietowane pętle służą do zagnieżdżania, etykietowane instrukcje break mogą zwracać wartość, a etykiet można też używać z blokami. 🎯
Często zadawane pytania
Czy lekcja „break, continue i pętle etykietowane” jest bezpłatna?
Tak — pełny tekst „break, continue i pętle etykietowane” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Zig Academy, przejdź na CoddyKit PRO. Kurs Zig Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „break, continue i pętle etykietowane”?
Precyzyjnie steruj pętlami za pomocą etykiet. Ćwiczysz Zig Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Zig Academy?
Nie wymagamy żadnego doświadczenia. Zig Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „break, continue i pętle etykietowane”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Zig Academy?
Tak. Każda lekcja Zig Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- if jako instrukcja i wyrażenie
- Pętle while i wyrażenia continue
- Pętle for po zakresach i elementach
- break, continue i pętle etykietowane