English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste artigo, você aprenderá sobre parâmetros padrão e nomeados com a ajuda de exemplos.
No Kotlin, você pode fornecer valores padrão para os parâmetros na definição da função.
Se a função for chamada passando parâmetros, esses parâmetros serão usados como parâmetros. No entanto, se a função for chamada sem passar parâmetros, serão usados os parâmetros padrão.
Primeiro: Passar todos os parâmetros
A função foo() tem dois parâmetros. Os parâmetros têm valores padrão. No entanto, o foo() é chamado passando dois parâmetros no programa acima. Portanto, os parâmetros padrão não são usados.
No função foo(), os valores de letter e number são 'x' e 2.
Segundo: Não passar todos os parâmetros, passar apenas um
Aqui, apenas um parâmetro (o primeiro) é passado para a função foo(). Portanto, o primeiro parâmetro usa o valor passado para a função. No entanto, o segundo parâmetro number adotará o valor padrão, pois o segundo parâmetro não foi passado durante a chamada da função.
No função foo(), os valores de letter e number são 'y' e 15.
Terceiro: Não passar nenhum parâmetro
Aqui, chamamos a função foo() sem passar nenhum parâmetro. Portanto, esses dois parâmetros usam seus valores padrão.
No função foo(), os valores de letter e number são 'a' e 15.
fun displayBorder(character: Char = '=', length: Int = 15) { for (i in 1..length) { print(character) } } fun main(args: Array<String>) { println("Sem passar parâmetros, a saída:") displayBorder() println("\n\n"*' Como primeiro parâmetro.") println("A saída ao passar o primeiro parâmetro:") displayBorder('*) println("\n\n"*' Usado como primeiro parâmetro.") println("5Usado como segundo parâmetro.") println("A saída ao passar dois parâmetros ao mesmo tempo:") displayBorder('* 5) }
Quando o programa é executado, a saída é:
Sem passar parâmetros, a saída: =============== *' Como primeiro parâmetro. A saída ao passar o primeiro parâmetro: *************** *' Como primeiro parâmetro. 5Como segundo parâmetro. A saída ao passar dois parâmetros ao mesmo tempo: *****
Antes de discutir parâmetros nomeados, vamos considerar algumas modificações no código acima:
fun displayBorder(character: Char = '=', length: Int = 15) { for (i in 1..length) { print(character) } } fun main(args: Array<String>) { displayBorder(5) }
Aqui, tentamos passar o segundo parâmetro para a função displayBorder() e usar o parâmetro padrão para o primeiro parâmetro. No entanto, esse código fornecerá um erro de uso. Isso porque o compilador acredita que estamos tentando fornecer5(valor inteiro).
Para resolver essa situação, você pode usar parâmetros nomeados. O método é o seguinte:
fun displayBorder(character: Char = '=', length: Int = 15) { for (i in 1..length) { print(character) } } fun main(args: Array<String>) { displayBorder(length = 5) }
Quando o programa é executado, a saída é:
=====
No programa acima, usamos argumentos nomeados (length = 5)para especificar que o valor deve ser usado no corpo da função length (independente da posição dos argumentos reais).
O primeiro caractere do parâmetro de entrada usa o valor padrão do programa '='.