Ricerca…


Sintassi

  • Parola chiave Vararg : vararg viene utilizzato in una dichiarazione di metodo per indicare che verrà accettato un numero variabile di parametri.
  • Operatore di spargimento : un asterisco ( * ) prima di un array utilizzato nelle chiamate di funzione per "spiegare" il contenuto in singoli parametri.

Nozioni di base: utilizzo della parola chiave vararg

Definire la funzione usando la parola chiave vararg .

fun printNumbers(vararg numbers: Int) {
    for (number in numbers) {
        println(number)
    }
}

Ora puoi passare tutti i parametri (del tipo corretto) nella funzione che desideri.

printNumbers(0, 1)                // Prints "0" "1"
printNumbers(10, 20, 30, 500)     // Prints "10" "20" "30" "500"

Note: i parametri Vararg devono essere l'ultimo parametro nella lista parametri.

Spread Operator: passaggio degli array alle funzioni vararg

Le matrici possono essere passate in funzioni vararg usando l' operatore di propagazione , * .

Supponendo che esista la seguente funzione ...

fun printNumbers(vararg numbers: Int) {
    for (number in numbers) {
        println(number)
    }
}

Puoi passare un array alla funzione in questo modo ...

val numbers = intArrayOf(1, 2, 3)
printNumbers(*numbers)

// This is the same as passing in (1, 2, 3)

L'operatore di spread può essere utilizzato anche nel mezzo dei parametri ...

val numbers = intArrayOf(1, 2, 3)
printNumbers(10, 20, *numbers, 30, 40)

// This is the same as passing in (10, 20, 1, 2, 3, 30, 40)


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow