Szukaj…


Składnia

  • Słowo kluczowe Vararg : vararg jest używany w deklaracji metody w celu wskazania, że zostanie zaakceptowana zmienna liczba parametrów.
  • Operator rozkładania: gwiazdka ( * ) przed tablicą używaną w wywołaniach funkcji do „rozwijania” zawartości do poszczególnych parametrów.

Podstawy: użycie słowa kluczowego vararg

Zdefiniuj funkcję za pomocą słowa kluczowego vararg .

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

Teraz możesz przekazać dowolną liczbę parametrów (poprawnego typu) do funkcji.

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

Uwagi: Parametry Vararg muszą być ostatnim parametrem na liście parametrów.

Spread Operator: Przekazywanie tablic do funkcji vararg

Tablice mogą być przekazywane do funkcji vararg za pomocą operatora Spread , * .

Zakładając, że istnieje następująca funkcja ...

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

Możesz przekazać tablicę do funkcji tak, aby ...

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

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

Operator rozrzutu może być również używany w środku parametrów ...

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow