Switch z zakresami
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 30 z 86.
Instrukcje switch stają się jeszcze bardziej przydatne, gdy używasz zakresów zamiast pojedynczych wartości. To idealne rozwiązanie do kategoryzowania liczb w grupy, na przykład do przekształcania wyniku w ocenę.
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}Operator ... tworzy zakres domknięty, który obejmuje oba końce, więc 90...100 pasuje do 90, 91 i kolejnych liczb aż do 100. Operator ..< tworzy zakres lewostronnie domknięty, który nie obejmuje górnej granicy: 80..<90 pasuje do liczb od 80 do 89.
Swift sprawdza każdy przypadek po kolei i wykonuje pierwszy pasujący. Ponieważ nasz wynik to 85, mieści się w zakresie 80..<90, więc zostaje wypisane „B”. To podejście jest znacznie czytelniejsze niż pisanie wielu warunków else if z operatorami porównania.
Wyzwanie
ŁatwyNapisz funkcję getAgeCategory, która przyjmuje age i zwraca kategorię etapu życia na podstawie przedziałów wiekowych.
Użyj instrukcji switch z przedziałami, aby przypisać wiek do jednej z pięciu kategorii etapów życia.
Warunki:
0...2– zwróć"Infant"3...12– zwróć"Child"13...19– zwróć"Teenager"20...64– zwróć"Adult"65...120– zwróć"Senior"- Każda inna wartość – zwróć
"Invalid age"
Parametry:
age(Int): Wiek danej osoby
Zwraca: Kategorię etapu życia jako String
Spróbuj swoich sił
func getAgeCategory(age: Int) -> String {
// Napisz kod tutaj
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloPrzypisanie złożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift