Argumentos nomeados
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 58 de 93.
Ao chamar uma função com vários parâmetros, normalmente você passa os argumentos exatamente na ordem em que eles são definidos. Mas Kotlin oferece uma alternativa mais clara: argumentos nomeados.
Com argumentos nomeados, você especifica a qual parâmetro cada valor pertence usando o nome do parâmetro seguido de =:
fun createProfile(name: String, age: Int, city: String) {
println("$name, $age, from $city")
}
fun main() {
createProfile(name = "Alice", age = 25, city = "Paris")
}
// Saída: Alice, 25, de ParisIsso torna seu código mais legível, especialmente quando uma função tem vários parâmetros do mesmo tipo. Compare estas duas chamadas:
// Sem argumentos nomeados - o que esses números significam?
calculateArea(10, 5, 3)
// Com argumentos nomeados - muito mais claro!
calculateArea(length = 10, width = 5, height = 3)Os argumentos nomeados também permitem passar valores na ordem que você preferir:
fun greet(firstName: String, lastName: String) {
println("Hello, $firstName $lastName!")
}
fun main() {
greet(lastName = "Smith", firstName = "John")
}
// Saída: Hello, John Smith!Você pode misturar argumentos posicionais e nomeados, mas, depois que usar um argumento nomeado, todos os argumentos seguintes também deverão ser nomeados para evitar confusão.
Desafio
MédioVocê recebe a seguinte função:
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}Leia três entradas: o título de um livro (String), o nome de um autor (String) e o ano de publicação (Int).
Chame a função formatBook usando argumentos nomeados nesta ordem específica: year, title, author.
Por exemplo, se as entradas forem:
1984
George Orwell
1949A saída deverá ser:
"1984" by George Orwell (1949)Experimente você mesmo
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}
fun main() {
val title = readLine()!!
val author = readLine()!!
val year = readLine()!!.toInt()
// TODO: Chame formatBook usando argumentos nomeados nesta ordem: year, title, author
}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