L' *
opérateur est connu comme la Propagation de l'Opérateur dans Kotlin.
À partir de la Kotlin de Référence...
Lorsque nous appelons un vararg-fonction, on peut passer des arguments un par un, par exemple, asList(1, 2, 3), ou, si nous avons déjà un tableau et que vous souhaitez transmettre à son contenu de la fonction, nous utilisons la propagation de l'opérateur (préfixe de la table avec *):
Il peut être appliqué à un Tableau avant de passer à une fonction qui accepte varargs
.
Par Exemple...
Si vous avez une fonction qui accepte un nombre varié d'arguments...
fun sumNumbers(vararg numbers: Int): Int {
return numbers.sum()
}
Vous pouvez passer un tableau en elle comme si...
val numbers = intArrayOf(2, 3, 4)
val sum = sumNumbers(*numbers)
println(sum) // Prints '9'
Notes:
- L'
*
- opérateur est également l' opérateur de multiplication (de cours).
- L'opérateur ne peut être utilisé lors du passage d'arguments à une fonction. Le résultat de l'opération ne peut pas être stockée car il donne pas de valeur (c'est purement syntaxique de sucre).
- L'opérateur peut confondre certains programmeurs C/C++ au premier abord car il ressemble à un pointeur est une dé-référencé. Il n'est pas; Kotlin a pas de notion de pointeurs.
- L'opérateur peut être utilisé entre autres arguments lors de l'appel d'un vararg fonction. Ceci est démontré dans l'exemple ici.
- L'opérateur est similaire à l'
apply
fonctionner dans différents langages de programmation fonctionnelle.