Значения по умолчанию
Часть раздела Основы путешествия по Swift на Coddy. Урок 57 из 86.
Иногда у параметра есть значение, которое используется большую часть времени. Вместо того чтобы требовать от вызывающей стороны указывать его каждый раз, можно присвоить этому параметру значение по умолчанию.
Чтобы задать значение по умолчанию, используйте оператор присваивания (=) после типа параметра:
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // Вывод: Hello, Alice!
greet(name: "Bob", greeting: "Hi") // Вывод: Hi, Bob!При вызове функции можно пропустить параметры, имеющие значения по умолчанию. Swift автоматически использует значение по умолчанию. Но если нужно другое значение, его всё равно можно указать явно.
Параметры со значениями по умолчанию следует размещать в конце списка параметров. Так вызовы функций остаются лаконичными и понятными:
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // Вывод: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Вывод: 120.0Значения по умолчанию делают ваши функции более гибкими. Они просто работают в распространённых случаях и при этом позволяют настраивать их, когда это необходимо.
Задание
ЛегкоНапиши функцию formatGreeting, которая принимает name, greeting и repeatCount и возвращает отформатированное приветственное сообщение.
Функция должна использовать значения по умолчанию для опциональных параметров:
- значением
greetingпо умолчанию должно быть"Hello" - значением
repeatCountпо умолчанию должно быть1
Составь строку, в которой шаблон приветствия повторяется указанное количество раз и разделяется пробелами.
Параметры:
name(String): имя человека (обязательный параметр)greeting(String): слово приветствия (значение по умолчанию:"Hello")repeatCount(Int): количество повторений приветствия (значение по умолчанию:1)
Возвращаемое значение: строка с повторённым шаблоном приветствия. Формат: "[greeting], [name]!", повторённый repeatCount раз и разделённый одиночным пробелом (String)
Например, если name — "Alice", greeting — "Hi", а repeatCount — 2, функция возвращает "Hi, Alice! Hi, Alice!".
Если вызвать функцию, указав только name со значением "Bob" (используя значения по умолчанию), она вернёт "Hello, Bob!".
Попробуйте сами
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift