Dans ce tutoriel sur les fonctions dans Kotlin, vous allez découvrir comment définir un nombre d’arguments variables dans une fonction et comment utiliser l’opérateur * appelé spread operator.
Table des matières
Définir un nombre d’arguments variables à une fonctions dans Kotlin
Si vous programmez déjà en Java, vous devez probablement déjà savoir comment définir un nombre d’arguments variables dans une fonction.Voici comment cela fonctionne en Java
public static void main(String args[] ){ somme(1,3,10,15,32); } private static void somme(int ...items){ int somme=0; for(int item:items){ somme +=item; } System.out.println("La somme total est "+somme); }
Résultat: La somme total est 61
Il arrive souvent que vous souhaitez créer une fonction dont le nombre d’arguments sera variable lors de l’appel de la fonction.
Par exemple vous souhaitez créer une fonction qui fait la somme de plusieurs nombre et le nombre d’arguments de la fonction sera déterminé lors de l’appelle de la fonction.
Dans kotlin, vous pouvez marquer un paramètre de fonction (le dernier paramètre) comme étant variable avec le mot clé vararg. Ce qui permettra à cette fonction d’accepter un nombre d’argument variable séparé par des virgules pendant qu’elle est appelée.
Cet exemple illustre l’utilisation d’un nombre variable de paramètre dans une fonction avec varargs
fun main(){ somme(1,3) somme(1,2,3) somme(5,6,9,10) } fun somme(vararg params: Int ) { var somme=0 for(param in params){ somme +=param } println("La somme total est $somme") }
.Résultat: La somme total est 4
Résultat:La somme total est 6
Résultat:La somme total est 30
Les arguments simple et les arguments variable
Kotlin vous permet de définir à la fois des paramètres simples et des paramètres variables lors de la déclaration de la fonction.Dans ce cas le paramètre variable doit être le dernier dans la liste des paramètres.
Voici un exemple qui illustre comment mixer paramètres simples et paramètre variables dans une fonction.
fun main(){ somme("Joel",1,2,3) } fun somme(name: String,vararg params: Int ) { var somme=0 for(param in params){ somme +=param } println("Le total des points de $name est $somme") }
Résultat: Le total des points de Joel est 6
Si vous souhaitez mixer paramètre simple et paramètre variable lors de la déclaration d’une fonction et ne pas définir le paramètre variable comme le dernier paramètre de la fonction.Vous devez nommées les paramètres simple de la fonction.Vous ne pouvez que définir un seul paramètre variable dans la déclaration de la fonction.
Voici un exemple qui illustre ce cas
fun main(){ somme(1,10,5,name="Joel") } fun somme(vararg params: Int,name: String) { var somme=0 for(param in params){ somme +=param } println("Le total des points de $name est $somme") }
Résultat: Le total des points de Joel est 16
Accéder aux éléments d’un paramètre variable
Vous pouvez accéder aux éléments d’un paramètre variable comme suit.
fun main(){ displayLanguages("Kotlin","Java","PHP") } fun displayLanguages(vararg languages: String){ val name0: String =languages[0] val name1: String =languages[1] println("Le premier langage est $name0") println("Le deuxième langage est $name1") }
Résultat:
Le premier langage est Kotlin
Le deuxième langage est Java
Accéder aux éléments d’un paramètre variable avec une boucle for
Vous pouvez accéder aux éléments d’un paramètre variable avec une boucle for comme suit.
fun main(){ displayLanguages("Kotlin","Java","PHP") } fun displayLanguages(vararg languages: String){ for (language in languages){ print("$language ") } }
Résultat: Kotlin Java PHP
Les arguments variable et l’opérateur *(Spread operator)
Dans une application vous utilisez le plus souvent des tableaux, kotlin vous permet de passer un tableau comme argument variable d’une fonction grâce à * appelé spread operator comme suit
fun main(){ val languages = arrayOf("Kotlin","Java","PHP") displayLanguages(*languages) } fun displayLanguages(vararg languages: String){ for (language in languages){ print("$language ") } }
Résultat: Kotlin Java PHP
Conclusion
Dans ce tutoriel, nous avez appris comment définir un nombre variable d’argument lors de l’appel d’une fonction.A bientôt pour un nouveau tutoriel.
Autres ressources
https://kotlinlang.org/docs/reference/functions.html
Noe Joel Vigan, auteur de ce blog, est passionné par la programmation Android. Il a créé ce blog pour partager ses connaissances sur le développement d’application android. Il est Développeur Android Fullstack, ce qui lui permet de complètement mettre en place le Backend de ses applications sur Google Cloud à défaut d’utiliser FireBase.