Dart Academy · Lekcja

Wyczerpujące używanie switch z enumami

Obsługa każdego przypadku sprawdzanego przez kompilator

Lekcja 4 z 413 kroki

Wyczerpujące używanie switch z enumami to bezpłatna lekcja Dart 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 Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.

switch uwielbia enumy

Gdy wartość należy do jednej z kilku możliwości, switch przejrzyście obsługuje każdy przypadek. Enumy i switch stanowią naturalne połączenie.

Podstawowy switch

Należy wymienić jeden case dla każdego członka enumu oraz kod, który ma się w nim wykonać. Dart dopasowuje wartość do odpowiedniego przypadku i uruchamia tę gałąź.

switch (status) {
  case Status.pending: print("Waiting");
}

Kompletność oznacza obsługę każdego przypadku

W przypadku enumu Dart sprawdza, czy obsłużyli Państwo każdego członka. Jeśli któregoś zabraknie, analizator ostrzeże przed uruchomieniem programu.

Dlaczego kompletność pomaga

To zabezpieczenie jest niezwykle cenne: gdy później dodadzą Państwo nowego członka enumu, kompilator wskaże każdy switch, który należy zaktualizować.

Wyrażenie switch

Wyrażenie switch zwraca wartość zamiast wykonywać instrukcje. Za pomocą strzałki fat arrow można przypisać każdemu przypadkowi wynik.

var label = switch (status) {
  Status.pending => "Waiting",
};

Przypadki ze strzałką są zwięzłe

W wyrażeniu switch każdy przypadek używa składni case-value => result. Przecinki oddzielają przypadki, tworząc zwięzłą tabelę odwzorowań.

Status.shipped => "On the way",

W Darcie nie ma przechodzenia dalej

W przeciwieństwie do niektórych języków przypadki w Darcie nie wykonują automatycznie kolejnych gałęzi, czyli nie ma tu fall through. Każdy przypadek uruchamia tylko własny kod, więc nie trzeba dodawać zbędnego break.

Domyślny przypadek wieloznaczny

default lub przypadek _ przechwytuje wszystko, czego Państwo nie wymienili. W przypadku enumów lepiej jednak obsłużyć każdego członka, aby zapewnić pełne bezpieczeństwo.

default => "Unknown",

default wyłącza sprawdzanie

Dodanie zbiorczego default sprawia, że switch jest kompletny, więc Dart przestaje ostrzegać o brakujących członkach. Należy używać go oszczędnie.

Wspólna gałąź

Dwa członki mogą współdzielić gałąź, jeśli zostaną wymienione razem. Oba wykonają ten sam kod bez jego powtarzania.

case Status.shipped || Status.delivered: print("Sent");

Kompletne instrukcje switch to dobry nawyk

Pominięcie default w przypadku enumów jest funkcją, a nie uciążliwym obowiązkiem. Kompilator staje się listą kontrolną przy przyszłych zmianach.

Szybkie sprawdzenie

Co daje kompletna instrukcja switch dla enumu?

Podsumowanie: kompletny switch

Widać już, że switch obsługuje każdy przypadek enumu, zwraca wartości jako wyrażenie i ostrzega o nieobsłużonych członkach. Dla bezpieczeństwa należy pomijać default. 🎯

Bezpłatny start

Ucz się Dart dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Wyczerpujące używanie switch z enumami” jest bezpłatna?

Tak — pełny tekst „Wyczerpujące używanie switch z enumami” 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 Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wyczerpujące używanie switch z enumami”?

Obsługa każdego przypadku sprawdzanego przez kompilator Ćwiczysz Dart 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ąć Dart Academy?

Nie wymagamy żadnego doświadczenia. Dart 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 „Wyczerpujące używanie switch z enumami”?

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 Dart Academy?

Tak. Każda lekcja Dart 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

  1. Deklarowanie i używanie zwykłych enumów
  2. Wartości enum, index i name
  3. Rozszerzone enumy z polami i metodami
  4. Wyczerpujące używanie switch z enumami
← Powrót do Dart Academy