Suche…


Syntax

  • Vararg-Schlüsselwort : vararg wird in einer Methodendeklaration verwendet, um anzuzeigen, dass eine variable Anzahl von Parametern akzeptiert wird.
  • Spread-Operator : Ein Sternchen ( * ) vor einem Array, das in Funktionsaufrufen verwendet wird, um den Inhalt in einzelne Parameter zu "entfalten".

Grundlagen: Verwenden des Schlüsselworts vararg

Definieren Sie die Funktion mit dem Schlüsselwort vararg .

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

Jetzt können Sie beliebig viele Parameter (vom richtigen Typ) in die Funktion eingeben.

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

Hinweise: Vararg-Parameter müssen der letzte Parameter in der Parameterliste sein.

Spread Operator: Übergabe von Arrays an Vararg-Funktionen

Arrays können mit dem Spread-Operator * in Vararg-Funktionen übergeben werden.

Angenommen, die folgende Funktion existiert ...

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

Sie können ein Array an die Funktion übergeben ...

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

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

Der Spread-Operator kann auch in der Mitte der Parameter verwendet werden ...

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow