0Pricing
Swift Academy · Lekcja

Zaawansowana konstrukcja switch z dopasowywaniem wzorców

Piszcie wyrażenia switch: dopasowujcie wartości powiązane, zakresy i krotki oraz dodawajcie klauzule where. Zachowujcie kompletność i czytelność gałęzi.

Zaawansowana konstrukcja switch z dopasowywaniem wzorców to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 2 z 3. 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 Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 3 lekcji w sumie.

Dlaczego dopasowywanie wzorców?

Instrukcja Swift switch dopasowuje wzorce: wyliczenia z wartościami powiązanymi, liczbowe zakresy, krotki oraz warunki where. Jest również wyczerpująca.

Wartości powiązane

Wartości powiązane należy wiązać za pomocą let/var bezpośrednio we wzorcu przypadku.

enum Network {
    case success(code: Int, body: String)
    case failure(message: String)
    case offline
}

let r1: Network = .success(code: 200, body: "OK")
switch r1 {
case .success(let code, let body):
    print("success", code, body)
case .failure(let msg):
    print("fail:", msg)
case .offline:
    print("offline")
}

Dopasowywanie zakresów

Należy dopasowywać liczbowe zakresy, takie jak 90...100 lub 80..<90. Należy użyć ,, aby dopasować wiele wzorców w jednym przypadku.

let score = 73
switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 60..<80:
    print("C")
case 0..<60:
    print("D")
default:
    print("invalid")
}

Krotki i where

Należy dopasowywać krotki i doprecyzowywać dopasowanie za pomocą warunku where, aby uzyskać czytelne sprawdzanie podobne do operacji geometrycznych.

let point = (x: -2, y: 3)
switch point {
case (0, 0):
    print("origin")
case (let x, 0):
    print("x-axis at", x)
case (0, let y):
    print("y-axis at", y)
case (let x, let y) where x > 0 && y > 0:
    print("Q1:", x, y)
default:
    print("somewhere else")
}

Symbole wieloznaczne i częściowe dopasowanie

Należy używać _, aby ignorować pola lub wiązać tylko potrzebne wartości. Należy dbać o to, aby gałęzie były małe i czytelne.

enum Event {
    case message(String, priority: Int)
    case ping
}
let e: Event = .message("update", priority: 1)

switch e {
case .message(let text, priority: _):
    print("msg:", text)           // ignore priority with _
case .ping:
    print("ping")
}

Wskazówki

Wskazówki:

  • W pierwszej kolejności należy preferować konkretne przypadki; default należy pozostawić dla rzadkich pozostałych przypadków.
  • Warto wiązać wartości za pomocą case let i uszczegóławiać dopasowanie przy użyciu where.
  • Typy wyliczeniowe należy projektować tak, aby w miarę możliwości switch obejmował wszystkie przypadki bez default.

Możliwości switch

Szybkie sprawdzenie: Dlaczego switch w języku Swift jest bardziej ekspresywny?

Podsumowanie

Podsumowanie: Należy używać switch do dopasowywania wzorców — wiązać dane typów wyliczeniowych, dopasowywać zakresy, łączyć krotki i filtrować za pomocą where — z zachowaniem kompletności.

Często zadawane pytania

Czy lekcja „Zaawansowana konstrukcja switch z dopasowywaniem wzorców” jest bezpłatna?

Tak — pełny tekst „Zaawansowana konstrukcja switch z dopasowywaniem wzorców” 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 Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Zaawansowana konstrukcja switch z dopasowywaniem wzorców”?

Piszcie wyrażenia switch: dopasowujcie wartości powiązane, zakresy i krotki oraz dodawajcie klauzule where. Zachowujcie kompletność i czytelność gałęzi. Ćwiczysz Swift 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ąć Swift Academy?

Nie wymagamy żadnego doświadczenia. Swift 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 2 z 3.

Ile czasu zajmuje lekcja „Zaawansowana konstrukcja switch z dopasowywaniem wzorców”?

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

Tak. Każda lekcja Swift 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. Podstawy zaawansowanego użycia enums
  2. Zaawansowana konstrukcja switch z dopasowywaniem wzorców
  3. Modelowanie stanów skończonych
← Powrót do Swift Academy