Menu
Coddy logo textTech

Valores predeterminados

Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 59 de 93.

A veces quieres que un parámetro de función tenga un valor alternativo cuando quien realiza la llamada no proporciona ninguno. Kotlin te permite asignar valores predeterminados directamente en la definición del parámetro.

fun greet(name: String = "Guest") {
    println("Hello, $name!")
}

fun main() {
    greet("Alice")
    greet()
}
// Salida:
// Hello, Alice!
// Hello, Guest!

Al llamar a greet() sin un argumento, Kotlin utiliza el valor predeterminado "Guest". Esto hace que las funciones sean más flexibles: quienes las llaman pueden personalizar el comportamiento cuando sea necesario o confiar en valores predeterminados adecuados.

Puedes mezclar parámetros con y sin valores predeterminados. Los parámetros con valores predeterminados suelen ir al final:

fun createUser(name: String, role: String = "member"): String {
    return "$name ($role)"
}

fun main() {
    println(createUser("Alice", "admin"))
    println(createUser("Bob"))
}
// Salida:
// Alice (admin)
// Bob (member)

Los argumentos con nombre resultan especialmente útiles con valores predeterminados. Te permiten omitir parámetros mientras proporcionas otros:

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 = "-> ")
}
// Salida: -> hello
challenge icon

Desafío

Intermedio

Implementa buildGreeting(name: String, greeting: String = "Hello"): String. Devuelve un saludo con el formato greeting, name!. El controlador de pruebas proporcionado llama a tu función dos veces: una vez solo con el nombre y otra con un nombre y un saludo explícito. No escribas main ni imprimas dentro de la función. El saludo que falta debe usar el valor predeterminado "Hello".

Pruébalo tú mismo

fun buildGreeting(name: String, greeting: String): String {
    // Añade el valor predeterminado al parámetro y devuelve el saludo.
    TODO("Build the greeting")
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Kotlin