Buscar..


Sintaxis

  • Palabra clave Vararg : vararg se utiliza en una declaración de método para indicar que se aceptará un número variable de parámetros.
  • Operador de propagación : un asterisco ( * ) antes de una matriz que se utiliza en llamadas a funciones para "desplegar" los contenidos en parámetros individuales.

Conceptos básicos: Uso de la palabra clave vararg

Defina la función utilizando la palabra clave vararg .

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

Ahora puede pasar tantos parámetros (del tipo correcto) a la función como desee.

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

Notas: Los parámetros Vararg deben ser el último parámetro en la lista de parámetros.

Operador de propagación: pasar matrices a funciones vararg

Las matrices se pueden pasar a funciones vararg utilizando el Operador de propagación , * .

Suponiendo que exista la siguiente función ...

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

Puedes pasar una matriz a la función así ...

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

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

El operador de propagación también se puede utilizar en medio de los parámetros ...

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow