Standardwerte
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 57 von 86.
Manchmal hat ein Parameter einen Wert, der meistens verwendet wird. Statt zu verlangen, dass der Aufrufer ihn jedes Mal angibt, kannst du diesem Parameter einen Standardwert zuweisen.
Um einen Standardwert festzulegen, verwende 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 kannst du Parameter mit Standardwerten weglassen. Swift verwendet automatisch den Standardwert. Wenn du jedoch einen anderen Wert benötigst, kannst du weiterhin ausdrücklich einen angeben.
Parameter mit Standardwerten sollten am Ende der Parameterliste platziert werden. Dadurch bleiben Funktionsaufrufe übersichtlich und gut 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 deine Funktionen flexibler. Für häufige Fälle funktionieren sie unkompliziert und ermöglichen bei Bedarf dennoch Anpassungen.
Aufgabe
EinfachSchreibe 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"Hello"verwendenrepeatCountsollte standardmäßig1verwenden
Erstelle eine Zeichenkette, die das Begrüßungsmuster so oft wie angegeben wiederholt und die Wiederholungen durch Leerzeichen trennt.
Parameter:
name(String): Der Name der Person (erforderlich)greeting(String): Das Begrüßungswort (Standardwert:"Hello")repeatCount(Int): Wie oft die Begrüßung wiederholt werden soll (Standardwert:1)
Rückgabewert: Eine Zeichenkette mit dem wiederholten Begrüßungsmuster. Das Format "[greeting], [name]!" wird repeatCount-mal wiederholt, wobei die Wiederholungen durch ein einzelnes Leerzeichen getrennt werden (String).
Wenn beispielsweise name den Wert "Alice", greeting den Wert "Hi" und repeatCount den Wert 2 hat, 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.
Probier es selbst
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// Schreibe hier den Code
}
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 ZuweisungRückblick – Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypkonvertierungWiederholung – Bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgumentbezeichnungenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte13Über Sequenzen iterieren
Über Elemente iterierenDie Enumerate-MethodeÜber Strings iterieren Teil 1Über Strings iterieren Teil 22Variablen
let vs. varTypannotationenZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechner zum Teilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion14Arrays – Fortgeschritten
Array-Slicing Teil 1Array-Slicing Teil 2SequenzoperatorenDie Contains-Methode3Optionals
Was sind Optionals?Entpacken mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Entpacken6Entscheidungen treffen
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Bereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueZusammenfassung – FakultätBereiche in SchleifenVerschachtelte SchleifeZusammenfassung – Dynamische EingabeÜbe selbstständig: Swift-Playground