Menu
Coddy logo textTech

Valores padrão

Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 59 de 93.

Às vezes, você quer que um parâmetro de função tenha um valor de fallback quando quem chama a função não fornece um. Kotlin permite atribuir valores padrão diretamente na definição do parâmetro.

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

fun main() {
    greet("Alice")
    greet()
}
// Saída:
// Hello, Alice!
// Hello, Guest!

Ao chamar greet() sem um argumento, Kotlin usa o valor padrão "Guest". Isso torna as funções mais flexíveis - quem as chama pode personalizar o comportamento quando necessário ou confiar em valores padrão sensatos.

Você pode misturar parâmetros com e sem valores padrão. Os parâmetros com valores padrão geralmente vêm por último:

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

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

Argumentos nomeados se tornam especialmente úteis com valores padrão. Eles permitem que você ignore parâmetros enquanto fornece outros:

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

Desafio

Médio

Implemente buildGreeting(name: String, greeting: String = "Hello"): String. Retorne uma saudação no formato greeting, name!. O driver de testes fornecido chama sua função duas vezes: uma vez apenas com o nome e outra vez com um nome e uma saudação explícita. Não escreva main nem use print dentro da função. A saudação ausente deve usar o valor padrão "Hello".

Experimente você mesmo

fun buildGreeting(name: String, greeting: String): String {
    // Adicione o valor padrão ao parâmetro e retorne a saudação.
    TODO("Build the greeting")
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Kotlin