Значения по умолчанию
Часть раздела Основы путешествия по Kotlin на Coddy. Урок 59 из 93.
Иногда вы хотите, чтобы параметр функции имел резервное значение, если вызывающая сторона его не предоставляет. Kotlin позволяет назначать значения по умолчанию непосредственно в определении параметра.
fun greet(name: String = "Guest") {
println("Hello, $name!")
}
fun main() {
greet("Alice")
greet()
}
// Вывод:
// Hello, Alice!
// Hello, Guest!При вызове greet() без аргумента Kotlin использует значение по умолчанию "Guest". Это делает функции более гибкими — вызывающий код может при необходимости настроить поведение или воспользоваться разумными значениями по умолчанию.
Вы можете смешивать параметры со значениями по умолчанию и без них. Параметры со значениями по умолчанию обычно указываются последними:
fun createUser(name: String, role: String = "member"): String {
return "$name ($role)"
}
fun main() {
println(createUser("Alice", "admin"))
println(createUser("Bob"))
}
// Вывод:
// Alice (admin)
// Bob (member)Именованные аргументы становятся особенно полезными со значениями по умолчанию. Они позволяют пропустить параметры, задавая другие:
fun format(text: String, uppercase: Boolean = false, prefix: String = "") {
val result = if (uppercase) text.uppercase() else text
println("$prefix$result")
}
fun main() {
format("hello", prefix = "-> ")
}
// Вывод: -> helloЗадание
СреднеРеализуйте buildGreeting(name: String, greeting: String = "Hello"): String. Верните приветствие в форме greeting, name!. Предоставленный тестовый драйвер вызывает вашу функцию дважды: один раз только с именем, а второй раз — с именем и явно указанным приветствием. Не пишите main и не используйте печать внутри функции. Для отсутствующего приветствия должно использоваться значение по умолчанию "Hello".
Попробуйте сами
fun buildGreeting(name: String, greeting: String): String {
// Добавьте значение по умолчанию к параметру и верните приветствие.
TODO("Build the greeting")
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеОператоры сравненияПовторение — простая математика7Базовый ввод-вывод
Функция PrintlnШаблоны строкВвод ReadLineПреобразование типовПовторение — лет до выхода на пенсиюПовторение — правда или ложь10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияИменованные аргументыЗначения по умолчаниюФункции с одним выражениемПовторение — функция SigmaПовторение — функция валидации13Итерация по последовательностям
Итерация по элементамМетод WithIndexИтерация по строкам, ч. 1Итерация по строкам, ч. 2Повторение — индексированные буквы2Переменные
Val и VarВывод типовЧислаСтрокаЛогическое значениеСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Логические операторы, часть 3Тернарный оператор с выражением ifПовторение — простая логика8Калькулятор разделения счёта
Приветственное сообщениеВвод данных3Обработка null
Что такое безопасность nullТипы, допускающие nullОператор безопасного вызоваОператор ЭлвисаОсновы задания на функцииУтверждение ненулевого значенияПовторение — безопасный доступ6Принятие решений
Инструкция ifIf — ElseIf как выражениеВыражение whenWhen с диапазонамиПовторение — простой калькулятор9Циклы
Цикл ForЦикл WhileЦикл Do-WhileBreakContinueДиапазоны в циклахВложенный циклПовторение — факториалПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Kotlin