Поиск…


Синтаксис

  • Vararg Ключевое слово : vararg используется в объявлении метода, чтобы указать, что будет принято переменное число параметров.
  • Оператор распространения : звездочка ( * ) перед массивом, который используется в вызовах функций, «разворачивает» содержимое в отдельные параметры.

Основы: использование ключевого слова vararg

Определите функцию, используя ключевое слово vararg .

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

Теперь вы можете передать столько параметров (нужного типа) в нужную вам функцию.

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

Примечания. Параметры Vararg должны быть последним параметром в списке параметров.

Оператор распространения: передача массивов в функции vararg

Массивы могут быть переданы в функции vararg с использованием оператора Spread , * .

Предполагая, что существует следующая функция ...

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

Вы можете передать массив в функцию так ...

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

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

Оператор распространения также может использоваться в середине параметров ...

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow