Entpacken mit If Let
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 12 von 86.
Um sicher auf den Wert innerhalb eines Optionals zuzugreifen, verwenden wir if let: eine Technik namens optionale Bindung. Dabei wird geprüft, ob das Optional einen Wert contains, und falls ja, wird dieser in eine temporäre Konstante unwrap.
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// Willkommen, Swift_DevHier prüft if let, ob username einen Wert hat. Da dies der Fall ist, wird der Wert in name entpackt, das nur innerhalb des if-Blocks existiert. Wenn username nil wäre, würde stattdessen der else-Block ausgeführt.
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// Alter nicht angegebenDa age nil ist, schlägt die Bedingung fehl und der else-Block wird ausgeführt. Dies verhindert Abstürze, die auftreten würden, wenn wir versuchen würden, einen fehlenden Wert direkt zu verwenden.
Aufgabe
EinfachDie folgende Variable wird dir bereitgestellt:
var nickname: String? = "CoddyLearner"Verwende if let, um nickname sicher zu entpacken. Wenn es einen Wert enthält, gib Hello, [value]! aus, wobei [value] der entpackte Spitzname ist. Wenn es nil ist, gib No nickname set aus.
Probier es selbst
var nickname: String? = "CoddyLearner"
// TODO: Schreibe deinen Code darunter
// Verwende if let, um nickname sicher zu entpacken
// Wenn es einen Wert enthält, gib "Hello, [value]!" aus
// Wenn es nil ist, gib "No nickname set" ausDiese 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