Der Nil-Koaleszenzoperator
Legen Sie einen Standardwert fest, wenn ein Optional nil ist.
Der Nil-Koaleszenzoperator ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Das Problem mit nil
Ein Optional kann einen Wert enthalten oder nil sein. Häufig möchten Sie den Wert verwenden, wenn er vorhanden ist, oder auf einen Standardwert zurückgreifen, wenn er nil ist.
let typedName: String? = nil
let name = typedName ?? "Guest"
print(name)Der ??-Operator
Der Nil-Coalescing-Operator ?? nimmt links ein Optional und rechts einen Standardwert. Ist das Optional nicht nil, erhalten Sie seinen entpackten Wert; andernfalls erhalten Sie den Standardwert.
let stored: Int? = 42
let value = stored ?? 0
print(value)Der Standardwert wird nur bei nil verwendet
Der Standardwert auf der rechten Seite wird nur verwendet, wenn die linke Seite nil ist. Ein vorhandener Wert, auch 0 oder eine leere Zeichenkette, bleibt erhalten.
let count: Int? = 0
let result = count ?? 99
print(result)Das Ergebnis ist nicht optional
Der Ausdruck optional ?? default erzeugt einen nicht optionalen Wert, weil es immer einen Wert gibt, auf den zurückgegriffen werden kann.
let nickname: String? = nil
let display: String = nickname ?? "Anonymous"
print(display)if let ersetzen
Ohne ?? würden Sie eine if/else-Anweisung schreiben, um den Wert zu entpacken und einen Standardwert bereitzustellen. Nil-Coalescing fasst dies in einem Ausdruck zusammen.
let age: Int? = nil
var finalAge: Int
if let unwrapped = age {
finalAge = unwrapped
} else {
finalAge = 18
}
print(finalAge)Dieselbe Logik mit ??
Hier ist das vorherige Beispiel mit Nil-Coalescing neu geschrieben. Es ist kürzer, und die Absicht ist sofort erkennbar.
let age: Int? = nil
let finalAge = age ?? 18
print(finalAge)Coalescing in Interpolationen
Sie können ?? direkt innerhalb einer String-Interpolation verwenden, um eine passende Alternative auszugeben.
let city: String? = nil
print("City: \(city ?? "Unknown")")Aus fehlgeschlagenen Konvertierungen
Die Umwandlung eines Strings in einen Int liefert ein Optional. Nil-Coalescing liefert einen Standardwert, wenn der Text keine Zahl ist.
let text = "abc"
let number = Int(text) ?? -1
print(number)Coalescing mit Dictionaries
Das Nachschlagen eines Schlüssels in einem Dictionary liefert ein Optional. Verwenden Sie ??, um eine Alternative bereitzustellen, wenn der Schlüssel fehlt.
let scores = ["Ann": 90]
let bob = scores["Bob"] ?? 0
print(bob)Der Standardwert kann berechnet werden
Die rechte Seite kann ein beliebiger Ausdruck des passenden Typs sein, sogar ein Funktionsaufruf. Er wird nur ausgewertet, wenn er benötigt wird.
func defaultName() -> String {
return "Player1"
}
let entered: String? = nil
print(entered ?? defaultName())Der Typ muss übereinstimmen
Der Standardwert muss mit dem umschlossenen Typ des Optionals kompatibel sein. Ein Int? benötigt einen Int-Standardwert.
let maybe: Int? = nil
let safe = maybe ?? 100
print(safe + 1)Kurze Überprüfung
Testen Sie Nil-Coalescing.
Rückblick: Der Nil-Coalescing-Operator
Der Operator ?? entpackt ein Optional oder greift auf einen Standardwert zurück und erzeugt ein nicht optionales Ergebnis. Der Standardwert wird nur verwendet, wenn das Optional nil ist.
let input: String? = nil
let name = input ?? "Default"
print(name)Lerne Swift mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 122
- Lektionen
- 409
Häufig gestellte Fragen
Ist die Lektion „Der Nil-Koaleszenzoperator“ kostenlos?
Ja — der vollständige Text von „Der Nil-Koaleszenzoperator“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Der Nil-Koaleszenzoperator“?
Legen Sie einen Standardwert fest, wenn ein Optional nil ist. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Der Nil-Koaleszenzoperator“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Der Nil-Koaleszenzoperator
- Standardwerte verketten
- Standardwerte in Funktionsparametern
- Standard-Subscripts für Dictionaries