Arguments Kotlin par défaut et nommés (avec des exemples)

Dans cet article, vous découvrirez les arguments par défaut et nommés à l'aide d'exemples.

Argument par défaut de Kotlin

Dans Kotlin, vous pouvez fournir des valeurs par défaut aux paramètres dans la définition de fonction.

Si la fonction est appelée avec des arguments passés, ces arguments sont utilisés comme paramètres. Cependant, si la fonction est appelée sans passer d'argument (s), l'argument par défaut est utilisé.

Comment fonctionnent les arguments par défaut?

Cas I: tous les arguments sont passés

La fonction foo()prend deux arguments. Les arguments sont fournis avec des valeurs par défaut. Cependant, foo()est appelé en passant les deux arguments dans le programme ci-dessus. Par conséquent, les arguments par défaut ne sont pas utilisés.

La valeur de la lettre et du nombre sera 'x'respectivement et 2 à l'intérieur de la foo()fonction.

Cas II: tous les arguments ne sont pas passés

Ici, un seul (premier) argument est passé à la foo()fonction. Par conséquent, le premier argument utilise la valeur transmise à la fonction. Cependant, le deuxième numéro d'argument prendra la valeur par défaut puisque le deuxième argument n'est pas passé lors de l'appel de fonction.

La valeur de la lettre et du nombre sera 'y'respectivement de 15 et à l'intérieur de la foo()fonction.

Cas III: aucun argument n'est passé

Ici, la foo()fonction est appelée sans passer d'argument. Par conséquent, les deux arguments utilisent ses valeurs par défaut.

La valeur de la lettre et du nombre sera 'a'respectivement de 15 et à l'intérieur de la foo()fonction.

Exemple: argument par défaut 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) )

Lorsque vous exécutez le programme, la sortie sera:

Sortie lorsqu'aucun argument n'est passé: ================ '*' est utilisé comme premier argument. Sortie lorsque le premier argument est passé: *************** '*' est utilisé comme premier argument. 5 est utilisé comme deuxième argument. Sortie lorsque les deux arguments sont passés: *****

Argument nommé Kotlin

Avant de parler d'argument nommé, considérons une petite modification du code ci-dessus:

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

Ici, nous essayons de passer le deuxième argument à la displayBorder()fonction et d'utiliser l'argument par défaut pour le premier argument. Cependant, ce code donnera une erreur d'utilisation. C'est parce que le compilateur pense que nous essayons de fournir 5 ( Intvaleur) au caractère ( Chartype).

Pour résoudre cette situation, des arguments nommés peuvent être utilisés. Voici comment:

Exemple: argument nommé par Kotlin

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

Lorsque vous exécutez le programme, la sortie sera:

 =====

Dans le programme ci-dessus, nous utilisons l'argument nommé ( length = 5) spécifiant que le paramètre de longueur dans la définition de la fonction doit prendre cette valeur (peu importe la position de l'argument).

Le premier caractère d'argument utilise la valeur par défaut '='dans le programme.

Articles intéressants...