Les arguments variables avec vararg


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


Laisser un commentaire

Résoudre : *
22 + 7 =


%d