Zoeken…


Syntaxis

  • Vararg-trefwoord : vararg wordt gebruikt in een methodeverklaring om aan te geven dat een variabel aantal parameters wordt geaccepteerd.
  • Spread-operator : een asterisk ( * ) vóór een array die in functie wordt gebruikt, roept de inhoud "op in afzonderlijke parameters".

Basisprincipes: het vararg-trefwoord gebruiken

Definieer de functie met het vararg trefwoord.

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

Nu kunt u zoveel parameters (van het juiste type) aan de functie doorgeven als u wilt.

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

Opmerkingen: Vararg-parameters moeten de laatste parameter in de parameterlijst zijn.

Spread-operator: arrays in vararg-functies doorgeven

Arrays kunnen in vararg-functies worden doorgegeven met de Spread-operator , * .

Ervan uitgaande dat de volgende functie bestaat ...

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

Je kunt een array als volgt doorgeven aan de functie ...

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

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

De spread-operator kan ook worden gebruikt in het midden van de parameters ...

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow