In Kotlin gibt es die Möglichkeit, eine Funktion so zu definieren, dass sie eine variable Anzahl an Argumenten mit demselben Datentyp entgegennehmen kann. Dies nennt man ein Vararg-Parameter. Dies ist nützlich, wenn man nicht genau weiß, wie viele Argumente an die Funktion übergeben werden. Ein Vararg-Parameter wird in der Funktionsdeklaration mit dem Schlüsselwort vararg gekennzeichnet.
Beispiel: Nehmen wir an, dass wir eine Reihe von Zahlen vom Datentyp Int an eine Funktion übergeben möchten, ohne genau zu wissen, wie viele Zahlen es sein werden. Um diesen Fall abzubilden, kann uns die folgende Funktion mit variabler Anzahl an Argumenten helfen:
Ein weiteres Beispiel ist, wenn wir eine Funktion haben möchten, die die Summe aller Zahlen berechnet, die ihr übergeben werden:
Vararg-Parameter können auch mit benannten Argumenten kombiniert werden. Zum Beispiel kann eine Funktion mehrere benannte Argumente und einen Vararg-Parameter haben. In solchen Fällen wird der vararg-Parameter normalerweise an letzter Stelle in der Parameterliste eingesetzt.
Es ist aber kein Muss, wenn es nach einem vararg-Parameter noch andere Parameter gibt, werden bei dem Funktionsaufruf die Werte dieser Parameter über benannte Argumente übergeben:
Spread-Operator (*)
Normalerweise wird ein Array als ein Einzelargument an eine Funktion übergeben. In oben dargestellten Beispielen würde das einen Kompilierungsfehler auslösen. Der Spread-Operator (*) hilft uns, jedes Element eines Arrays als ein separates Argument an eine Funktion zu übergeben.