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: -> helloDesafio
MédioImplemente 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")
}
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
4Operadores – Parte 1
Operadores aritméticosOperador móduloAtribuição aumentadaOperadores de comparaçãoRecapitulação – Matemática simples7Entrada e Saída Básicas
Função PrintlnTemplates de StringEntrada com ReadLineConversão de TiposRevisão - Anos até a AposentadoriaRevisão - Verdadeiro ou Falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoArgumentos nomeadosValores padrãoFunções de expressão únicaRecapitulação — função SigmaRecapitulação — função de validação2Variáveis
Val vs VarInferência de TiposNúmerosStringBooleanoConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores – Parte 2
Operadores lógicos – Parte 1Operadores lógicos – Parte 2Operadores lógicos – Parte 3Ternário com expressão ifRecapitulação – Lógica simples8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Nullabilidade
O que é Null SafetyTipos anuláveisOperador de chamada seguraOperador ElvisNoções básicas do desafio de funçõesAsserção de não nuloRecapitulação - Acesso seguro6Tomada de Decisões
Instrução IfIf - ElseIf como ExpressãoExpressão WhenWhen com IntervalosRecapitulação - Calculadora Simples9Laços de Repetição
Laço ForLaço WhileLaço Do-WhileBreakContinueIntervalos em LaçosLaço AninhadoRecapitulação - FatorialRecapitulação - Entrada Dinâmica12Fundamentos de Listas
List vs MutableListAcessando ElementosModificando ListasMétodos de ListaPair e TripleRecapitulação - Lista de ProdutosRecapitulação - Lista Invertida15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Kotlin