English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Parâmetros Padrão e Nomeados no Kotlin

Neste artigo, você aprenderá sobre parâmetros padrão e nomeados com a ajuda de exemplos.

Parâmetros padrão em Kotlin

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.

Como funcionam 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.

Exemplo: Parâmetros padrão em Kotlin

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:
*****

Exemplo: Parâmetros nomeados em Kotlin

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:

Exemplo: Parâmetros nomeados em Kotlin

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 '='.