Wartości domyślne
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 57 z 86.
Czasami parametr ma wartość, która jest używana przez większość czasu. Zamiast wymagać od wywołującego podawania jej za każdym razem, możesz przypisać temu parametrowi wartość domyślną.
Aby ustawić wartość domyślną, użyj operatora przypisania (=) po typie parametru:
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // Wynik: Hello, Alice!
greet(name: "Bob", greeting: "Hi") // Wynik: Hi, Bob!Podczas wywoływania funkcji możesz pominąć parametry, które mają wartości domyślne. Swift użyje ich automatycznie. Jeśli jednak potrzebujesz innej wartości, nadal możesz ją jawnie podać.
Parametry z wartościami domyślnymi należy umieszczać na końcu listy parametrów. Dzięki temu wywołania funkcji są przejrzyste i czytelne:
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // Wynik: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Wynik: 120.0Wartości domyślne sprawiają, że Twoje funkcje są bardziej elastyczne. Działają prosto w typowych przypadkach, a jednocześnie pozwalają na dostosowanie w razie potrzeby.
Wyzwanie
ŁatwyNapisz funkcję formatGreeting, która przyjmuje name, greeting i repeatCount oraz zwraca sformatowaną wiadomość powitalną.
Funkcja powinna używać wartości domyślnych dla parametrów opcjonalnych:
greetingpowinno domyślnie mieć wartość"Hello"repeatCountpowinno domyślnie mieć wartość1
Zbuduj ciąg znaków, który powtarza wzorzec powitania określoną liczbę razy, oddzielając kolejne powtórzenia spacjami.
Parametry:
name(String): Imię tej osoby (wymagane)greeting(String): Słowo powitalne (domyślnie:"Hello")repeatCount(Int): Ile razy powtórzyć powitanie (domyślnie:1)
Zwraca: Ciąg znaków z powtórzonym wzorcem powitania. Format: "[greeting], [name]!" powtórzony repeatCount razy, z pojedynczą spacją między powtórzeniami (String)
Na przykład, jeśli name ma wartość "Alice", greeting ma wartość "Hi", a repeatCount ma wartość 2, funkcja zwraca "Hi, Alice! Hi, Alice!".
Jeśli funkcja zostanie wywołana tylko z name o wartości "Bob" (przy użyciu wartości domyślnych), zwróci "Hello, Bob!".
Spróbuj swoich sił
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// Wpisz tutaj kod
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloPrzypisanie złożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift