Значения по умолчанию
Часть раздела Основы путешествия по 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Повторение — True или False10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияМетки аргументовПовторение: функция SigmaПовторение: функция валидацииЗначения по умолчанию13Итерирование по последовательностям
Итерирование по элементамМетод enumerateИтерирование по строкам, ч. 1Итерирование по строкам, ч. 22Переменные
Let против VarАннотации типовЧислаСтрокиBooleanСоглашения об именованииИтоги — Инициализация переменных5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 3Тернарный оператор8Калькулятор разделения счета
Приветственное сообщениеПолучение ввода14Массивы: Продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опционалы
Что такое опционалыРазвертывание с помощью if letGuard letОператор объединения с nilИтоги — безопасное развертывание6Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторОператор SwitchSwitch с диапазонами9Циклы
Цикл For-InЦикл WhileЦикл Repeat-WhileBreakContinueПовторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический вводПотренируйтесь самостоятельно: Песочница Swift