Was sind Optionals
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 11 von 86.
Manchmal hat eine Variable vielleicht überhaupt keinen Wert. In Swift repräsentieren wir das Fehlen eines Wertes mithilfe von Optionals. Ein Optional besagt: „Es gibt einen Wert, und er entspricht x“ oder „Es gibt überhaupt keinen Wert“.
Um ein Optional zu deklarieren, füge ein Fragezeichen ? nach dem Typ hinzu:
var nickname: String? = "Alex"
var age: Int? = nilIm obigen Beispiel enthält nickname den Wert "Alex", während age den Wert nil enthält — Swifts Art zu sagen: „kein Wert“. Reguläre Variablen können nicht nil sein, aber Optionals schon.
Stellen Sie sich ein Optional wie eine Box vor, die etwas enthalten kann oder leer sein kann. Bevor Sie den Inhalt verwenden, müssen Sie prüfen, ob tatsächlich etwas darin ist. Dies ist ein wichtiges Sicherheitsmerkmal in Swift, das hilft, Abstürze durch unerwartet fehlende Werte zu verhindern.
var score: Int? = 100
print(score) // Optional(100)
score = nil
print(score) // nilBeachten Sie, dass beim Ausgeben eines Optionals mit einem Wert Optional(100) anstelle von nur 100 angezeigt wird. Um auf den tatsächlichen Wert darin zuzugreifen, müssen Sie das Optional auspacken – was wir in den kommenden Lektionen behandeln werden.
Aufgabe
EinfachSchreibe eine Funktion createOptional, die eine Zahl entgegennimmt und einen String zurückgibt, der zeigt, wie diese Zahl aussehen würde, wenn sie als Optional ausgegeben wird.
Wenn du ein Optional ausgibst, das einen Wert enthält, zeigt Swift es im Format Optional(value) an.
Erinnerung zur Funktionssyntax: In Swift verwendet eine Funktion, die einen Wert zurückgibt, den -> Pfeil, um den Rückgabetyp anzugeben, und das Schlüsselwort return, um das Ergebnis zurückzusenden. Zum Beispiel:
func myFunction(param: Int) -> String {<br> return "result"<br>}
Du kannst den Rückgabe-String mittels String-Interpolation erstellen: "Optional(\(value))" — der Teil \(value) fügt die Zahl direkt in den String ein.
Parameter:
value(Int): Die Zahl, die im Optional-Format verpackt werden soll
Rückgabewert: Ein String im Format Optional(value), wobei value die angegebene Zahl ist.
Beispiel: Wenn die Eingabe 100 ist, gib "Optional(100)" zurück.
Spickzettel
In Swift repräsentieren Optionals das Fehlen oder Vorhandensein eines Wertes. Ein Optional kann entweder einen Wert enthalten oder nil sein.
Um ein Optional zu deklarieren, fügen Sie ein Fragezeichen ? nach dem Typ hinzu:
var nickname: String? = "Alex"
var age: Int? = nilReguläre Variablen können nicht nil sein, Optionals hingegen schon. Verwenden Sie nil, um „keinen Wert“ darzustellen:
var score: Int? = 100
score = nilWenn ein Optional mit einem Wert ausgegeben wird, zeigt Swift dies als Optional(value) an:
var score: Int? = 100
print(score) // Optional(100)
score = nil
print(score) // nilProbier es selbst
func createOptional(value: 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