Argumentos predeterminados y con nombre de Kotlin (con ejemplos)

En este artículo, aprenderá acerca de los argumentos predeterminados y con nombre con la ayuda de ejemplos.

Argumento predeterminado de Kotlin

En Kotlin, puede proporcionar valores predeterminados a los parámetros en la definición de funciones.

Si se llama a la función con argumentos pasados, esos argumentos se utilizan como parámetros. Sin embargo, si se llama a la función sin pasar argumentos, se utilizan los argumentos predeterminados.

¿Cómo funcionan los argumentos predeterminados?

Caso I: todos los argumentos pasados

La función foo()toma dos argumentos. Los argumentos se proporcionan con valores predeterminados. Sin embargo, foo()se llama pasando ambos argumentos en el programa anterior. Por tanto, no se utilizan los argumentos predeterminados.

El valor de la letra y el número será 'x'y 2 respectivamente dentro de la foo()función.

Caso II: No se pasan todos los argumentos

Aquí, solo se pasa un (primer) argumento a la foo()función. Por tanto, el primer argumento usa el valor pasado a la función. Sin embargo, el segundo número de argumento tomará el valor predeterminado ya que el segundo argumento no se pasa durante la llamada a la función.

El valor de la letra y el número será 'y'y 15 respectivamente dentro de la foo()función.

Caso III: No se pasa ningún argumento

Aquí, la foo()función se llama sin pasar ningún argumento. Por tanto, ambos argumentos utilizan sus valores predeterminados.

El valor de la letra y el número será 'a'y 15 respectivamente dentro de la foo()función.

Ejemplo: argumento predeterminado de Kotlin

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( println("Output when no argument is passed:") displayBorder() println("'*' is used as a first argument.") println("Output when first argument is passed:") displayBorder('*') println("'*' is used as a first argument.") println("5 is used as a second argument.") println("Output when both arguments are passed:") displayBorder('*', 5) )

Cuando ejecute el programa, la salida será:

Salida cuando no se pasa ningún argumento: =============== '*' se usa como primer argumento. Salida cuando se pasa el primer argumento: *************** '*' se utiliza como primer argumento. 5 se utiliza como segundo argumento. Salida cuando se pasan ambos argumentos: *****

Argumento con nombre de Kotlin

Antes de hablar sobre el argumento con nombre, consideremos una pequeña modificación del código anterior:

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(5) )

Aquí, estamos tratando de pasar el segundo argumento a la displayBorder()función y usar el argumento predeterminado para el primer argumento. Sin embargo, este código dará uso a un error. Es porque el compilador cree que estamos tratando de proporcionar 5 ( Intvalor) al carácter ( Chartipo).

Para resolver esta situación, se pueden utilizar argumentos con nombre. Aquí 'cómo:

Ejemplo: argumento con nombre de Kotlin

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(length = 5) ) 

Cuando ejecute el programa, la salida será:

 =====

En el programa anterior, estamos usando el argumento con nombre ( length = 5) especificando que el parámetro de longitud en la definición de la función debe tomar este valor (no importa la posición del argumento).

El primer carácter de argumento usa el valor predeterminado '='en el programa.

Articulos interesantes...