Standardwerte
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 57 von 86.
Manchmal hat ein Parameter einen Wert, der meistens verwendet wird. Anstatt vom Aufrufer zu verlangen, diesen jedes Mal anzugeben, können Sie diesem Parameter einen Standardwert zuweisen.
Um einen Standardwert festzulegen, verwenden Sie den Zuweisungsoperator (=) nach dem Typ des Parameters:
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // Ausgabe: Hello, Alice!
greet(name: "Bob", greeting: "Hi") // Ausgabe: Hi, Bob!Beim Aufrufen der Funktion können Sie Parameter weglassen, die Standardwerte haben. Swift verwendet automatisch den Standardwert. Wenn Sie jedoch einen anderen Wert benötigen, können Sie diesen dennoch explizit angeben.
Parameter mit Standardwerten sollten am Ende der Parameterliste platziert werden. Dies hält Funktionsaufrufe sauber und lesbar:
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // Ausgabe: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Ausgabe: 120.0Standardwerte machen Ihre Funktionen flexibler – sie funktionieren einfach für gängige Fälle, ermöglichen aber dennoch Anpassungen, wenn diese benötigt werden.
Aufgabe
EinfachSchreiben Sie eine Funktion formatGreeting, die name, greeting und repeatCount entgegennimmt und eine formatierte Begrüßungsnachricht zurückgibt.
Die Funktion sollte Standardwerte für die optionalen Parameter verwenden:
greetingsollte standardmäßig auf"Hello"gesetzt seinrepeatCountsollte standardmäßig auf1gesetzt sein
Erstellen Sie einen String, der das Begrüßungsmuster in der angegebenen Anzahl wiederholt, getrennt durch Leerzeichen.
Parameter:
name(String): Der Name der Person (erforderlich)greeting(String): Das Begrüßungswort (Standard:"Hello")repeatCount(Int): Wie oft die Begrüßung wiederholt werden soll (Standard:1)
Rückgabewert: Ein String mit dem wiederholten Begrüßungsmuster. Format: "[greeting], [name]!" wird repeatCount mal wiederholt, getrennt durch ein einzelnes Leerzeichen (String)
Zum Beispiel, wenn name gleich "Alice" ist, greeting gleich "Hi" und repeatCount gleich 2 ist, gibt die Funktion "Hi, Alice! Hi, Alice!" zurück.
Wenn sie nur mit name als "Bob" aufgerufen wird (unter Verwendung der Standardwerte), gibt sie "Hello, Bob!" zurück.
Spickzettel
Um einen Standardwert für einen Parameter festzulegen, verwenden Sie den Zuweisungsoperator (=) nach dem Typ des Parameters:
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // Ausgabe: Hello, Alice!
greet(name: "Bob", greeting: "Hi") // Ausgabe: Hi, Bob!Beim Aufrufen einer Funktion können Sie Parameter weglassen, die Standardwerte haben. Swift verwendet automatisch den Standardwert, aber Sie können bei Bedarf dennoch explizit einen anderen Wert angeben.
Parameter mit Standardwerten sollten am Ende der Parameterliste stehen:
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // Ausgabe: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Ausgabe: 120.0Probier es selbst
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// Hier Code schreiben
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungWiederholung - Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgument-LabelsWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte13Iterieren über Sequenzen
Iterieren über ElementeDie enumerate-MethodeIterieren über Strings Teil 1Iterieren über Strings Teil 22Variablen
Let vs. VarTyp-AnnotationenZahlenStringsBooleansBenennungskonventionenZusammenfassung – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungs-Splitter
WillkommensnachrichtEingabe abfragen14Arrays für Fortgeschrittene
Array Slicing Teil 1Array Slicing Teil 2Sequenz-OperatorenDie Contains-Methode3Optionals
Was sind OptionalsUnwrapping mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Unwrapping6Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Wertebereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueWiederholung – FakultätBereiche in SchleifenVerschachtelte SchleifeWiederholung – Dynamische Eingabe