Les arguments par défaut et les arguments nommés dans kotlin


Dans le tutoriel précédent sur les bases des fonctions dans kotlin, nous avons vue que vous pouvez ajouter des paramètres lors de la déclaration d’une fonction.Dans ce tutoriel vous allez ensuite apprendre comment définir des valeurs par défaut aux paramètres d’une fonction et comment utiliser les arguments nommés dans kotlin.

Si c’est votre premier tutoriel sur les fonctions dans kotlin, vous pouvez lire ce tutoriel sur les bases des fonctions dans kotlin.

Table des matières

Les Arguments par défaut dans Kotlin

Dans Kotlin, vous pouvez définir des valeurs par défaut aux paramètres d’une fonction lors de la déclaration cette fonction. Ainsi la fonction utilisera ces valeurs par défaut lorsque ces arguments correspondant seront omit durant l’appel de la fonction.

Il faut souligner que les valeurs par défaut sont définies avec = après le type du paramètre.

Voici un exemple qui illustre comment créer une fonction avec des valeurs par défaut

fun main(){
  val result= somme()
  println("Le somme est $result")  
}

fun somme(a: Int = 10, b: Int =20) = a + b

Résultat:Le somme est 30

Dans cet exemple aucun argument n’est passé durant l’appel de la fonction.Les valeurs par défaut seront alors automatiquement utilisées

Passer que certains arguments durant l’appel de la fonction

Nous allons reprendre l’exemple précédent puis passer certains arguments durant l’appel de la fonction et les autres paramètres utiliseront les arguments par défaut comme suit

fun main(){
  val result= somme(5)
  println("Le somme est $result")
}

fun somme(a: Int = 10, b: Int =20) = a + b

Puisque durant l’appel d’une fonction les arguments doivent toujours être passer dans l’ordre de déclaration des paramètres alors dans cet exemple l’argument passé durant l’appel de la fonction correspond à l’argument du premier paramètre de la fonction et le second paramètre utilise l’argument défini par défaut.

Paramètre avec et sans valeur par défaut

Si durant la déclaration de la fonction, un paramètre avec une valeur par défaut précède un paramètre sans valeur par défaut.L’argument par défaut ne peut pas être utilisé lors de l’appel de la fonction si on prend en compte l’ordre de déclaration des paramètres.

Prenons ce premier exemple ou aucun arguments n’est défini lors de l’appel de la fonction

fun main(){
  val result= somme()//Erreur:No value passed for parameter b
  println("Le somme est $result")
}

fun somme(a: Int = 10, b: Int ) = a + b

L’appel de cette fonction sans définir d’arguments génère un problème puisque l’argument du second paramètre n’est toujours pas défini.Seul le premier paramètre à une valeur par défaut.

Prenons cet autre exemple

fun main(){
  val result= somme(3) //Erreur:No value passed for parameter b
  println("Le somme est $result")
}

fun somme(a: Int = 10, b: Int ) = a + b

L’appel de cette fonction avec un seul paramètre génère toujours une erreur puisque en suivant l’ordre de déclaration des paramètres, l’argument défini correspond toujours à l’argument du premier paramètre. Donc vous devez forcement définir les deux arguments lors de l’appel de cette fonction.

Pour faire comprendre automatiquement au compilateur que la valeur que vous avez défini correspond à la valeur du paramètre n’ayant pas de valeur par défaut, vous devez utiliser les arguments nommés que nous allons aborder maintenant.

Les arguments nommés

Les arguments des fonctions peuvent être nommés durant l’appel de la fonction, cela est pratique lorsque la fonction à plusieurs paramètres ou pour des paramètres avec des valeurs par défaut.Ce qui vous permet d’appeler une fonction sans définir des valeurs pour les paramètres qui ont une valeur par défaut.

Prenons l’exemple de la déclaration de la fonction suivant

fun somme(a: Int = 10, b: Int, c: Int = 14 ) = a + b+c

Dans cet exemple la fonction possède des paramètres avec des valeurs par défaut et un paramètre b sans valeur par défaut.

Vous pouvez appeler la fonction comme suit.

val result= somme(b=3)
 println("Le somme est $result")

Résultat: Le somme est 27

Puisque dans cet exemple lors de l’appel de la fonction, le paramètre qui ne possède pas de valeur par défaut est nommé, la fonction précédente sera appelé et les arguments par défaut des autres paramètres seront utilisés.

Vous pouvez aussi appeler la fonction avec tous les paramètres nommés comme suit.

val result= somme(a = 2,b = 3,c = 11)
println("Le somme est $result")

Résultat: Le somme est 16

Conclusion

Voila, nous sommes à la fin de ce tutoriel dans lequel vous avez appris comment utiliser les arguments par défauts et les arguments nommés dans kotlin. J’espère que ce tutoriel vous aidera.A bientôt pour un nouveau tutoriel.

Autres ressources

https://kotlinlang.org/docs/reference/functions.html


Laisser un commentaire

Résoudre : *
5 × 16 =


%d