Switch mit Wertebereichen
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 30 von 86.
Switch-Anweisungen werden noch leistungsfähiger, wenn Sie Bereiche anstelle von Einzelwerten verwenden. Dies ist ideal, um Zahlen in Gruppen zu kategorisieren, wie zum Beispiel das Umwandeln einer Punktzahl in eine Note.
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")
}Der ...-Operator erzeugt einen geschlossenen Bereich, der beide Endpunkte einschließt, sodass 90...100 die Werte 90, 91 bis hin zu 100 abdeckt. Der ..<-Operator erzeugt einen halboffenen Bereich, der die obere Grenze ausschließt – 80..<90 deckt 80 bis 89 ab.
Swift prüft jedes Case der Reihe nach und führt das erste passende aus. Da unser Score 85 ist, fällt er in den Bereich 80..<90, sodass „B“ ausgegeben wird. Dieser Ansatz ist viel sauberer als das Schreiben mehrerer else if-Bedingungen mit Vergleichsoperatoren.
Aufgabe
EinfachSchreiben Sie eine Funktion getAgeCategory, die age entgegennimmt und die Lebensphasen-Kategorie basierend auf Altersbereichen zurückgibt.
Verwenden Sie eine switch-Anweisung mit Bereichen, um das Alter in eine von fünf Lebensphasen zu kategorisieren.
Bedingungen:
0...2- return"Infant"3...12- return"Child"13...19- return"Teenager"20...64- return"Adult"65...120- return"Senior"- Jeder andere Wert - return
"Invalid age"
Parameter:
age(Int): Das Alter der Person
Rückgabewert: Die Lebensphasen-Kategorie als String
Spickzettel
Switch-Anweisungen können Bereiche (Ranges) verwenden, um Werte innerhalb eines bestimmten Intervalls abzugleichen:
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
default:
print("F")
}Der Operator ... erstellt einen geschlossenen Bereich (closed range), der beide Endpunkte einschließt (z. B. entspricht 90...100 den Werten 90 bis einschließlich 100).
Der Operator ..< erstellt einen halboffenen Bereich (half-open range), der die obere Grenze ausschließt (z. B. entspricht 80..<90 den Werten 80 bis 89).
Swift prüft jeden Fall der Reihe nach und führt den ersten passenden aus.
Probier es selbst
func getAgeCategory(age: Int) -> String {
// Schreibe hier den Code
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungWiederholung - Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgument-LabelsWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte13Iterieren über Sequenzen
Iterieren über ElementeDie enumerate-MethodeIterieren über Strings Teil 1Iterieren über Strings Teil 22Variablen
Let vs. VarTyp-AnnotationenZahlenStringsBooleansBenennungskonventionenZusammenfassung – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungs-Splitter
WillkommensnachrichtEingabe abfragen14Arrays für Fortgeschrittene
Array Slicing Teil 1Array Slicing Teil 2Sequenz-OperatorenDie Contains-Methode3Optionals
Was sind OptionalsUnwrapping mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Unwrapping6Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Wertebereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueWiederholung – FakultätBereiche in SchleifenVerschachtelte SchleifeWiederholung – Dynamische Eingabe