Standardwerte in Funktionsparametern
Geben Sie Parametern Standardwerte, um Aufrufstellen zu vereinfachen.
Standardwerte in Funktionsparametern ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.
Was sind Standardparameter
Ein Funktionsparameter kann einen Standardwert haben. Aufrufende können dieses Argument weglassen, und Swift setzt automatisch den Standardwert ein.
func greet(name: String = "Guest") {
print("Hello, \(name)")
}
greet()
greet(name: "Ada")Einen Standardwert deklarieren
Sie weisen nach dem Parametertyp mit = einen Standardwert zu. Dieser wird nur verwendet, wenn der Aufrufende das Argument nicht übergibt.
func power(base: Int, exponent: Int = 2) -> Int {
var result = 1
for _ in 0..<exponent { result *= base }
return result
}
print(power(base: 5))
print(power(base: 5, exponent: 3))Mehrere Standardwerte
Sie können mehreren Parametern Standardwerte geben. Aufrufende überschreiben nur die Werte, die sie benötigen.
func makeBox(width: Int = 1, height: Int = 1) -> Int {
return width * height
}
print(makeBox())
print(makeBox(width: 4))Erforderliche und optionale Parameter kombinieren
Erforderliche Parameter haben keinen Standardwert, Standardparameter schon. Platzieren Sie die erforderlichen Parameter zuerst, damit aufrufende Code ohne Weiteres die nachfolgenden Standardwerte weglassen kann.
func send(message: String, urgent: Bool = false) {
print("\(urgent ? "URGENT: " : "")\(message)")
}
send(message: "Hi")
send(message: "Fire!", urgent: true)Standardwerte reduzieren Overloads
Vor der Einführung von Standardparametern hätten Sie möglicherweise mehrere überladene Funktionen geschrieben. Eine Funktion mit Standardwerten ersetzt sie alle.
func connect(host: String, port: Int = 80) {
print("\(host):\(port)")
}
connect(host: "example.com")
connect(host: "example.com", port: 8080)Jede Teilmenge überschreiben
Sie können einen einzelnen Standardwert überschreiben und die übrigen beibehalten, solange Sie Argumentbezeichnungen verwenden, um dies eindeutig zu machen.
func style(size: Int = 12, bold: Bool = false, italic: Bool = false) {
print("\(size) bold:\(bold) italic:\(italic)")
}
style(bold: true)Standardwerte können Ausdrücke sein
Ein Standardwert kann ein beliebiger Ausdruck des passenden Typs sein, der ausgewertet wird, wenn das Argument weggelassen wird.
func now(stamp: Int = 1000 + 1) {
print(stamp)
}
now()
now(stamp: 5)Standardwert eines Optionals
Ein häufig verwendetes Muster ist ein optionaler Parameter mit dem Standardwert nil, wodurch Aufrufende ihn vollständig weglassen können.
func log(_ text: String, tag: String? = nil) {
print("[\(tag ?? "general")] \(text)")
}
log("Started")
log("Saved", tag: "db")Mit Nil-Coalescing kombinieren
Standardparameter und ?? funktionieren gut zusammen: Akzeptieren Sie ein Optional und verwenden Sie anschließend innerhalb des Funktionskörpers Nil-Coalescing.
func price(amount: Int? = nil) -> Int {
return amount ?? 10
}
print(price())
print(price(amount: 25))Standardwerte in Initialisierern
Dieselbe Funktion steht auch in Struct-Initialisierern zur Verfügung, sodass Sie Objekte mit sinnvollen Standardwerten erstellen können.
struct Settings {
var volume: Int
init(volume: Int = 50) {
self.volume = volume
}
}
print(Settings().volume)
print(Settings(volume: 80).volume)Vorteil für die Lesbarkeit
Standardparameter verkürzen Aufrufstellen und machen den häufigsten Anwendungsfall deutlich, ermöglichen bei Bedarf aber weiterhin vollständige Kontrolle.
func repeatText(_ text: String, times: Int = 1) {
for _ in 0..<times { print(text) }
}
repeatText("Hi")
repeatText("Yo", times: 2)Kurze Überprüfung
Testen Sie Standardparameter.
Rückblick: Standardwerte in Funktionsparametern
Durch Standardwerte für Parameter können Aufrufende Argumente weglassen. Deklarieren Sie sie mit = nach dem Typ, kombinieren Sie sie mit erforderlichen Parametern und verbinden Sie sie für flexible APIs mit ?? oder Optionals.
func tax(amount: Int, rate: Int = 10) -> Int {
return amount + amount * rate / 100
}
print(tax(amount: 100))Häufig gestellte Fragen
Ist die Lektion „Standardwerte in Funktionsparametern“ kostenlos?
Ja — der vollständige Text von „Standardwerte in Funktionsparametern“ 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 „Standardwerte in Funktionsparametern“?
Geben Sie Parametern Standardwerte, um Aufrufstellen zu vereinfachen. 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 3 von 4.
Wie lange dauert die Lektion „Standardwerte in Funktionsparametern“?
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