Swift Academy · Lektion

Typinferenz und explizite Typen

Erfahren Sie, wie Swift Typen ableitet und wann Sie sie explizit deklarieren sollten.

Lektion 2 von 412 Schritte

Typinferenz und explizite Typen ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.

Willkommen

Swift ist eine *statisch typisierte* Sprache — jeder Wert besitzt einen zur Kompilierungszeit bekannten Typ. Sie müssen den Typ jedoch nur selten selbst angeben, da Swift ihn automatisch ableitet.

Was ist Typinferenz?

Swift untersucht den Wert auf der rechten Seite und leitet den Typ automatisch ab: ```swift let message = "Hello" // inferred as String let count = 42 // inferred as Int let price = 9.99 // inferred as Double ``` Eine Typannotation ist nicht erforderlich — der Compiler ermittelt den Typ selbst.

Explizite Typannotationen

Sie können den Typ jederzeit mit einem Doppelpunkt explizit angeben: ```swift let message: String = "Hello" let count: Int = 42 let price: Double = 9.99 ``` Das ist hilfreich, wenn der abgeleitete Typ nicht dem gewünschten Typ entspricht.

Wenn die Inferenz den falschen Typ wählt

Gleitkommaliterale werden standardmäßig als `Double` behandelt. Wenn Sie `Float` benötigen, geben Sie den Typ explizit an: ```swift let inferred = 3.14 // Double let explicit: Float = 3.14 // Float ``` Auch Ganzzahlliterale werden standardmäßig als `Int` behandelt — geben Sie für `Int32`, `UInt8` usw. den Typ explizit an.

Typsicherheit in der Praxis

Sobald ein Typ festgelegt ist, kann er nicht mehr geändert werden: ```swift var score = 0 // Int score = "ten" // ❌ cannot assign String to Int ``` Die Typsicherheit erkennt diese Fehlerklasse zur Kompilierungszeit, lange bevor sie zur Laufzeit auftritt.

Die Funktion type(of:)

Verwenden Sie `type(of:)`, um den Laufzeittyp zu untersuchen: ```swift let value = 42 print(type(of: value)) // Int let name = "Alice" print(type(of: name)) // String ``` Das ist nützlich, um Überraschungen bei der Typinferenz zu untersuchen.

Typaliase

Mit `typealias` geben Sie einem vorhandenen Typ einen neuen Namen, um die Lesbarkeit zu verbessern: ```swift typealias Celsius = Double typealias UserID = Int var temperature: Celsius = 36.6 var userId: UserID = 1001 ``` Typaliase dienen ausschließlich der Lesbarkeit — der zugrunde liegende Typ bleibt unverändert.

Annotationen ohne Initialisierung

Wenn Sie eine Variable ohne Anfangswert deklarieren, *müssen* Sie den Typ angeben: ```swift var name: String // ✓ annotation required name = "Bob" var total: Int total = 0 ``` Ohne vorhandenen Wert kann Swift den Typ nicht ableiten.

Numerische Literale und Lesbarkeit

Swift erlaubt Unterstriche in numerischen Literalen, um die Lesbarkeit zu verbessern: ```swift let million = 1_000_000 let hex = 0xFF_EC_D3 let binary = 0b1111_0000 ``` Der Compiler ignoriert die Unterstriche — sie dienen ausschließlich der Lesbarkeit.

Typkonvertierung — keine impliziten Umwandlungen

Swift konvertiert niemals implizit zwischen Typen. Sie müssen die Konvertierung explizit durchführen: ```swift let intVal: Int = 5 let dblVal: Double = Double(intVal) // explicit conversion let sum = Double(intVal) + 2.5 ``` So vermeiden Sie subtile Fehler durch unbeabsichtigte numerische Umwandlungen.

Kurze Überprüfung

Welchen Typ leitet Swift für `let x = 3.14` ab?

Zusammenfassung

Die wichtigsten Erkenntnisse: • Swift leitet Typen aus Anfangswerten ab — normalerweise ist keine Annotation erforderlich • Explizite Annotationen (`: Type`) überschreiben die Inferenz • Gleitkommazahlen werden standardmäßig zu `Double`, Ganzzahlen zu `Int` • Keine impliziten Konvertierungen — verwenden Sie `Int()`, `Double()` usw. • `type(of:)` zeigt den Laufzeittyp an Als Nächstes: die grundlegenden Typen — Zahlen, Bool und Character.
Kostenlos starten

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 „Typinferenz und explizite Typen“ kostenlos?

Ja — der vollständige Text von „Typinferenz und explizite Typen“ 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 „Typinferenz und explizite Typen“?

Erfahren Sie, wie Swift Typen ableitet und wann Sie sie explizit deklarieren sollten. 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 2 von 4.

Wie lange dauert die Lektion „Typinferenz und explizite Typen“?

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

  1. let vs. var: Konstanten und Variablen
  2. Typinferenz und explizite Typen
  3. Zahlen, Boolesche Werte und Zeichen
  4. Grundlagen von Strings und Interpolation
← Zurück zu Swift Academy