Menu
Coddy logo textTech

Значения по умолчанию

Часть раздела Основы путешествия по 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
challenge icon

Задание

Средне

Реализуйте buildGreeting(name: String, greeting: String = "Hello"): String. Верните приветствие в форме greeting, name!. Предоставленный тестовый драйвер вызывает вашу функцию дважды: один раз только с именем, а второй раз — с именем и явно указанным приветствием. Не пишите main и не используйте печать внутри функции. Для отсутствующего приветствия должно использоваться значение по умолчанию "Hello".

Попробуйте сами

fun buildGreeting(name: String, greeting: String): String {
    // Добавьте значение по умолчанию к параметру и верните приветствие.
    TODO("Build the greeting")
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Kotlin