English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet article, vous découvrirez les paramètres par défaut et nommés à l'aide d'exemples.
Dans Kotlin, vous pouvez définir des valeurs par défaut pour les paramètres dans la définition de la fonction.
Si la fonction est appelée en transmettant des paramètres, ces paramètres sont utilisés comme paramètres. Cependant, si la fonction est appelée sans transmettre de paramètres, les paramètres par défaut sont utilisés.
Première : transmission de tous les paramètres
La fonction foo() a deux paramètres. Les paramètres fournissent des valeurs par défaut. Cependant, foo() est appelé avec deux paramètres dans le programme ci-dessus. Par conséquent, les paramètres par défaut ne sont pas utilisés.
Dans la fonction foo(), les valeurs de letter et number sont respectivement 'x' et 2.
Deuxième : non transmission de tous les paramètres, mais transmission d'un seul paramètre
Dans cet exemple, un seul paramètre (le premier) est transmis à la fonction foo(). Par conséquent, le premier paramètre utilise la valeur transmise à la fonction. Cependant, le second paramètre number utilise la valeur par défaut, car le second paramètre n'a pas été transmis pendant l'appel de la fonction.
Dans la fonction foo(), les valeurs de letter et number sont respectivement 'y' et 15.
Troisième : non transmission de tous les paramètres
Dans cet exemple, nous appelons la fonction foo() sans transmettre de paramètres. Par conséquent, ces deux paramètres utilisent leurs valeurs par défaut.
Dans la fonction foo(), les valeurs de letter et number sont respectivement 'a' et 15.
fun displayBorder(character: Char = '=', length: Int = 15) { for (i in 1..length) { print(character) } } fun main(args: Array<String>) { println("Sortie lors de la non-transmission de paramètres :") displayBorder() println("\n\n"*' En tant que premier paramètre.") println("Sortie lors de la transmission du premier paramètre :") displayBorder('*) println("\n\n"*' En tant que premier paramètre.") println("5En tant que second paramètre.") println("Sortie lors de la transmission de deux paramètres en même temps :") displayBorder('* 5) }
Lorsque le programme est exécuté, la sortie est :
Sortie lors de la non-transmission de paramètres : =============== *' En tant que premier paramètre. Sortie lors de la transmission du premier paramètre : *************** *' En tant que premier paramètre. 5En tant que second paramètre. Sortie lors de la transmission de deux paramètres en même temps : *****
Avant de discuter des paramètres nommés, considérons quelques modifications à faire au code ci-dessus :
fun displayBorder(character: Char = '=', length: Int = 15) { for (i in 1..length) { print(character) } } fun main(args: Array<String>) { displayBorder(5) }
Dans cet exemple, nous essayons de passer le second paramètre à la fonction displayBorder() et d'utiliser un paramètre par défaut pour le premier paramètre. Cependant, ce code donnera une erreur d'utilisation. Cela est dû au fait que le compilateur pense que nous essayons de fournir pour le caractère (type Char)5(valeur Int).
Pour résoudre ce problème, vous pouvez utiliser les paramètres nommés. Voici comment faire :
fun displayBorder(character: Char = '=', length: Int = 15) { for (i in 1..length) { print(character) } } fun main(args: Array<String>) { displayBorder(length = 5) }
Lorsque le programme est exécuté, la sortie est :
=====
Dans le programme ci-dessus, nous utilisons des arguments nommés (length = 5)pour spécifier que la valeur de ce paramètre dans la définition de la fonction length doit être utilisée (indépendamment de la position des arguments réels).
L'argument de premier paramètre utilise la valeur par défaut du programme '='.