0Pricing
Swift Academy · Lektion

Standard- und variadische Parameter

Legen Sie Standardwerte fest und akzeptieren Sie eine variable Anzahl von Argumenten.

Standard- und variadische Parameter 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

Standardparameterwerte ermöglichen es Aufrufern, Argumente wegzulassen, die sie nicht anpassen müssen. Variadische Parameter akzeptieren eine beliebige Anzahl von Argumenten. Beides reduziert wiederholten Code und verbessert APIs.

Standardparameterwerte

```swift func log(_ message: String, level: String = "INFO") { print("[\(level)] \(message)") } log("Server started") // [INFO] Server started log("Disk full", level: "ERROR") // [ERROR] Disk full ``` Standardwerte müssen nach erforderlichen Parametern angegeben werden.

Mehrere Standardwerte

```swift func connect(host: String, port: Int = 443, useTLS: Bool = true) {} connect(host: "api.example.com") connect(host: "api.example.com", port: 8080) connect(host: "api.example.com", port: 80, useTLS: false) ``` Aufrufer können eine beliebige Teilmenge der Parameter mit Standardwerten überschreiben.

Variadische Parameter

Ein variadischer Parameter akzeptiert null oder mehr Werte desselben Typs: ```swift func sum(_ numbers: Int...) -> Int { numbers.reduce(0, +) } print(sum(1, 2, 3)) // 6 print(sum(10, 20, 30, 40)) // 100 ``` Innerhalb der Funktion ist `numbers` ein `[Int]`-Array.

Nur ein variadischer Parameter pro Funktion

Swift erlaubt nur einen variadischen Parameter pro Funktion (seit Swift 5.4 muss er nicht mehr an letzter Stelle stehen): ```swift func format(_ template: String, args: String...) -> String { var result = template for arg in args { result = result.replacingOccurrences(of: "%s", with: arg) } return result } ```

Standardwerte und variadische Parameter kombinieren

```swift func build(separator: String = ", ", _ items: String...) -> String { items.joined(separator: separator) } build("apple", "banana", "cherry") // "apple, banana, cherry" build(separator: " | ", "one", "two", "three") // "one | two | three" ```

Ein Array an einen variadischen Parameter übergeben

Sie können ein Array nicht direkt an einen variadischen Parameter übergeben: ```swift let nums = [1, 2, 3] // sum(nums) ❌ — won't compile ``` Entpacken Sie es mit `...` (das Verteilen von Sequenzen ist in Swift 5.4+ nicht integriert; verwenden Sie selbst `reduce` oder eine andere Lösung): ```swift let total = nums.reduce(0, +) ```

Standardwerte für Closures

Standardwerte funktionieren auch für Closure-Parameter: ```swift func retry(count: Int = 3, action: () -> Bool) {} retry { fetchData() } // count defaults to 3 retry(count: 5) { fetchData() } ``` Die Syntax für Trailing Closures gilt auch bei der Verwendung von Standardwerten.

Standardwerte dokumentieren

Kommentieren oder benennen Sie Standardwerte eindeutig, damit Aufrufer wissen, was sie erwarten können: ```swift /// Sends a request. Timeout defaults to 30 seconds. func send(request: URLRequest, timeout: TimeInterval = 30.0) {} ``` Eine gute Dokumentation verhindert, dass Aufrufer den Standardwert ausdrücklich angeben.

Praxisbeispiel: print-ähnliche APIs

Swifts standardmäßige `print`-Funktion ist selbst variadisch und verwendet Standardwerte: ```swift // Simplified signature: func print(_ items: Any..., separator: String = " ", terminator: String = "\n") print("a", "b", "c") // a b c print("x", "y", separator: "-") // x-y print("no newline", terminator: "") ```

Schnelltest

Welchen Typ hat ein variadischer `Int...`-Parameter innerhalb einer Funktion?

Zusammenfassung

Die wichtigsten Punkte: • Standardwerte machen Parameter am Aufrufort optional • Standardwerte müssen auf erforderliche Parameter folgen • Variadische Parameter (`Type...`) akzeptieren null oder mehr Werte und werden innerhalb der Funktion zu einem Array • Pro Funktion ist nur ein variadischer Parameter erlaubt • Kombinieren Sie beides für flexible, übersichtliche APIs Als Nächstes: In-out-Parameter und die Rückgabe mehrerer Werte.

Häufig gestellte Fragen

Ist die Lektion „Standard- und variadische Parameter“ kostenlos?

Ja — der vollständige Text von „Standard- und variadische Parameter“ 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 „Standard- und variadische Parameter“?

Legen Sie Standardwerte fest und akzeptieren Sie eine variable Anzahl von Argumenten. 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 „Standard- und variadische Parameter“?

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. Argumentbezeichnungen und Parameternamen
  2. Standard- und variadische Parameter
  3. In-Out-Parameter und mehrere Rückgabewerte
  4. Funktionen als erstklassige Werte
← Zurück zu Swift Academy