Switch-Anweisung
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 29 von 86.
Wenn Sie einen einzelnen Wert gegen viele mögliche Übereinstimmungen prüfen, bietet die switch-Anweisung eine übersichtlichere Alternative zu langen Ketten von else if. Sie ist besonders nützlich, wenn Sie mehrere verschiedene Fälle behandeln müssen.
let day = "Monday"
switch day {
case "Monday":
print("Start of the week")
case "Friday":
print("Almost weekend!")
case "Saturday", "Sunday":
print("Weekend!")
default:
print("Regular day")
}Swift vergleicht den Wert nach switch mit jedem case. Wenn eine Übereinstimmung gefunden wird, führt es den Code dieses Falls aus. Beachten Sie, wie Sie mehrere Werte in einem einzigen Fall mithilfe von Kommas kombinieren können.
Der default-Fall behandelt alle Werte, die nicht mit den anderen Fällen übereinstimmen – er ist erforderlich, wenn Ihre Fälle nicht jeden möglichen Wert abdecken. Im Gegensatz zu einigen anderen Sprachen fällt Swifts switch nicht automatisch in den nächsten Fall durch, sodass Sie keine break-Anweisungen benötigen.
let grade = "B"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
case "C":
print("Fair")
default:
print("Needs improvement")
}Aufgabe
EinfachSchreiben Sie eine Funktion getSeasonActivity, die season entgegennimmt und eine empfohlene Aktivität für diese Jahreszeit zurückgibt.
Verwenden Sie eine Switch-Anweisung, um die Jahreszeit abzugleichen und die entsprechende Aktivität zurückzugeben.
Fälle:
"Spring"- gibt"Go hiking"zurück"Summer"- gibt"Go swimming"zurück"Fall","Autumn"- gibt"Go apple picking"zurück (beide sollten die gleiche Aktivität zurückgeben)"Winter"- gibt"Go skiing"zurück- Jeder andere Wert - gibt
"Stay home"zurück
Parameter:
season(String): Der Name der Jahreszeit
Rückgabewert: Die empfohlene Aktivität als String
Spickzettel
Die switch-Anweisung bietet eine übersichtlichere Alternative zu mehreren else if-Anweisungen, wenn ein einzelner Wert mit vielen möglichen Übereinstimmungen verglichen wird.
Grundlegende Syntax:
let day = "Monday"
switch day {
case "Monday":
print("Start of the week")
case "Friday":
print("Almost weekend!")
case "Saturday", "Sunday":
print("Weekend!")
default:
print("Regular day")
}Wichtige Punkte:
- Swift vergleicht den Wert nach
switchmit jedemcase - Mehrere Werte können in einem einzigen Case mit Kommas kombiniert werden
- Der
default-Fall behandelt Werte, die nicht mit anderen Fällen übereinstimmen, und ist erforderlich, wenn die Fälle nicht jeden möglichen Wert abdecken - Das Switch-Statement in Swift hat keinen automatischen "Fall-through", daher sind
break-Anweisungen nicht erforderlich
Beispiel mit Rückgabewerten:
let grade = "B"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
case "C":
print("Fair")
default:
print("Needs improvement")
}Probier es selbst
func getSeasonActivity(season: String) -> 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