Switch mit Bereichen
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 30 von 86.
Switch-Anweisungen werden noch leistungsfähiger, wenn du Bereiche anstelle einzelner Werte verwendest. Das eignet sich perfekt, um Zahlen in Gruppen einzuteilen, zum Beispiel um eine Punktzahl in eine Note umzuwandeln.
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 ... erstellt einen geschlossenen Bereich, der beide Endpunkte einschließt, sodass 90...100 auf 90, 91 und alle Werte bis einschließlich 100 passt. Der Operator ..< erstellt einen halboffenen Bereich, der die obere Grenze ausschließt: 80..<90 passt auf die Werte von 80 bis 89.
Swift prüft jeden Fall der Reihe nach und führt den ersten passenden aus. Da unsere Punktzahl 85 beträgt, fällt sie in den Bereich 80..<90, daher wird „B“ ausgegeben. Dieser Ansatz ist viel übersichtlicher, als mehrere else if-Bedingungen mit Vergleichsoperatoren zu schreiben.
Aufgabe
EinfachSchreibe eine Funktion getAgeCategory, die age entgegennimmt und anhand von Altersbereichen die Kategorie der Lebensphase zurückgibt.
Verwende eine switch-Anweisung mit Bereichen, um das Alter einer von fünf Lebensphasen zuzuordnen.
Bedingungen:
0...2- gib"Infant"zurück3...12- gib"Child"zurück13...19- gib"Teenager"zurück20...64- gib"Adult"zurück65...120- gib"Senior"zurück- Bei jedem anderen Wert - gib
"Invalid age"zurück
Parameter:
age(Int): Das Alter der Person
Rückgabewert: Die Kategorie der Lebensphase als String
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 ZuweisungRückblick – Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypkonvertierungWiederholung – Bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgumentbezeichnungenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte13Über Sequenzen iterieren
Über Elemente iterierenDie Enumerate-MethodeÜber Strings iterieren Teil 1Über Strings iterieren Teil 22Variablen
let vs. varTypannotationenZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechner zum Teilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion14Arrays – Fortgeschritten
Array-Slicing Teil 1Array-Slicing Teil 2SequenzoperatorenDie Contains-Methode3Optionals
Was sind Optionals?Entpacken mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Entpacken6Entscheidungen treffen
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Bereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueZusammenfassung – FakultätBereiche in SchleifenVerschachtelte SchleifeZusammenfassung – Dynamische EingabeÜbe selbstständig: Swift-Playground