Unwrapping 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 Optional Binding. Dies prüft, ob das Optional einen Wert enthält und, falls ja, entpackt es in eine temporäre Konstante.
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. Wäre username nil, 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
EinfachDir wird die folgende Variable zur Verfügung gestellt:
var nickname: String? = "CoddyLearner"Verwende if let, um nickname sicher zu entpacken. Wenn sie einen Wert enthält, gib Hello, [value]! aus, wobei [value] der entpackte Nickname ist. Wenn sie nil ist, gib No nickname set aus.
Spickzettel
Verwenden Sie if let (Optional Binding), um ein Optional sicher zu entpacken und auf seinen Wert zuzugreifen:
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// Welcome, Swift_DevWenn das Optional einen Wert enthält, wird es in eine temporäre Konstante entpackt, die nur innerhalb des if-Blocks existiert. Wenn das Optional nil ist, wird der else-Block ausgeführt:
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// Age not providedProbier es selbst
var nickname: String? = "CoddyLearner"
// TODO: Schreibe deinen Code unten
// 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 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