Generische Funktionen und Typen
Schreiben Sie generische Funktionen und Typen mit Typparametern (z. B. ). Sehen Sie, wie der Compiler Typen ableitet und den Code sicher sowie wiederverwendbar hält.
Generische Funktionen und Typen ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. 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 3 Lektionen.
Warum Generics?
Generics ermöglichen es Ihnen, eine einzige Funktion oder einen einzigen Typ zu schreiben, der mit vielen Typen funktioniert und dabei typsicher bleibt. Sie sehen <T> als Typparameter und wie die Typinferenz Aufrufe vereinfacht.
Generische Funktion
Eine generische Funktion verwendet einen Typparameter (<T>). Der Compiler prüft die Typen bei jedem Aufruf.
// Generic swap for any type T
func swapValues<T>(_ a: inout T, _ b: inout T) {
let temp = a
a = b
b = temp
}
var x = 1, y = 2
swapValues(&x, &y)
print(x, y) // 2 1
var s1 = "A", s2 = "B"
swapValues(&s1, &s2)
print(s1, s2) // B AGenerischer Typ
Auch Typen können generisch sein: Deklarieren Sie Stack<Element> und verwenden Sie ihn für Int, String und weitere Typen.
// A minimal generic stack
struct Stack<Element> {
private var items: [Element] = []
mutating func push(_ x: Element) { items.append(x) }
mutating func pop() -> Element? { items.popLast() }
var top: Element? { items.last }
}
var intStack = Stack<Int>()
intStack.push(10); intStack.push(20)
print(intStack.top ?? -1) // 20
var textStack = Stack<String>()
textStack.push("hi"); textStack.push("bye")
print(textStack.pop() ?? "?")Typinferenz
Swift ermittelt generische Typen häufig automatisch, sodass Sie sie bei Aufrufen nur selten explizit angeben müssen.
// The compiler infers T from arguments/assignments
func makePair<T>(_ a: T, _ b: T) -> (T, T) { (a, b) }
let pair1 = makePair(1, 2) // T inferred as Int
let pair2 = makePair("a", "b") // T inferred as String
print(pair1, pair2)Duplizierung vermeiden
Ohne Generics müssten Sie Code für jeden Typ wiederholen. Generics beseitigen diese Duplizierung und behalten statische Prüfungen bei.
// Non-generic overloads would duplicate logic:
func eqInt(_ a: Int, _ b: Int) -> Bool { a == b }
func eqStr(_ a: String, _ b: String) -> Bool { a == b }
// A single generic can replace both:Hinweise und Benennung
Hinweise:
- Verwenden Sie klare Namen: T, Element oder domänenspezifische Namen.
- Halten Sie APIs klein und fokussiert.
- Als Nächstes: Fügen Sie bei Bedarf mit Constraints und where Einschränkungen für T hinzu.
Bedeutung von <T>
Kurzfrage: Was bedeutet <T> in einer generischen Funktion?
Zusammenfassung
Zusammenfassung: Definieren Sie generische Funktionen mit <T> und erstellen Sie generische Typen wie Stack<Element>. Swift ermittelt Typen bei Aufrufen automatisch, sodass der Code wiederverwendbar und typsicher bleibt.
Häufig gestellte Fragen
Ist die Lektion „Generische Funktionen und Typen“ kostenlos?
Ja — der vollständige Text von „Generische Funktionen und 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 3 Lektionen.
Was lerne ich in „Generische Funktionen und Typen“?
Schreiben Sie generische Funktionen und Typen mit Typparametern (z. B. ). Sehen Sie, wie der Compiler Typen ableitet und den Code sicher sowie wiederverwendbar hält. 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 3.
Wie lange dauert die Lektion „Generische Funktionen und 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
- Generische Funktionen und Typen
- Constraints (where), Typinferenz
- Generische Algorithmen für Collections