Sök…


Syntax

  • Vararg nyckelord : vararg används i en vararg för att indikera att ett variabelt antal parametrar kommer att accepteras.
  • Spread Operator : En asterisk ( * ) innan en matris som används i funktionen kallar för att "fälla ut" innehållet i enskilda parametrar.

Grunder: Använd vararg-nyckelordet

Definiera funktionen med nyckelordet vararg .

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

Nu kan du skicka så många parametrar (av rätt typ) till funktionen som du vill.

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

Anmärkningar: Vararg-parametrar måste vara den sista parametern i parameterlistan.

Spread Operator: Vidarebefordra matriser till vararg-funktioner

Matriser kan överföras till vararg-funktioner med hjälp av Spread Operator , * .

Förutsatt att följande funktion finns ...

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

Du kan överföra en matris till funktionen så ...

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

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

Spridningsoperatören kan också användas i mitten av parametrarna ...

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow