Kotlin Standard- und benannte Argumente (mit Beispielen)

In diesem Artikel lernen Sie anhand von Beispielen Standard- und benannte Argumente kennen.

Kotlin Standardargument

In Kotlin können Sie Parameter in der Funktionsdefinition mit Standardwerten versehen.

Wenn die Funktion mit übergebenen Argumenten aufgerufen wird, werden diese Argumente als Parameter verwendet. Wenn die Funktion jedoch aufgerufen wird, ohne Argumente zu übergeben, werden Standardargumente verwendet.

Wie funktionieren Standardargumente?

Fall I: Alle Argumente bestanden

Die Funktion foo()akzeptiert zwei Argumente. Die Argumente werden mit Standardwerten versehen. Wird foo()jedoch durch Übergeben beider Argumente im obigen Programm aufgerufen. Daher werden die Standardargumente nicht verwendet.

Der Wert von Buchstabe und Zahl liegt 'x'innerhalb der foo()Funktion bei bzw. 2 .

Fall II: Alle Argumente werden nicht übergeben

Hier wird nur ein (erstes) Argument an die foo()Funktion übergeben. Daher verwendet das erste Argument den an die Funktion übergebenen Wert. Die zweite Argumentnummer nimmt jedoch den Standardwert an, da das zweite Argument während des Funktionsaufrufs nicht übergeben wird.

Der Wert von Buchstabe und Zahl liegt 'y'innerhalb der foo()Funktion bei bzw. 15 .

Fall III: Es wird kein Argument vorgebracht

Hier wird die foo()Funktion aufgerufen, ohne ein Argument zu übergeben. Daher verwenden beide Argumente ihre Standardwerte.

Der Wert von Buchstabe und Zahl liegt 'a'innerhalb der foo()Funktion bei bzw. 15 .

Beispiel: Kotlin-Standardargument

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( println("Output when no argument is passed:") displayBorder() println("'*' is used as a first argument.") println("Output when first argument is passed:") displayBorder('*') println("'*' is used as a first argument.") println("5 is used as a second argument.") println("Output when both arguments are passed:") displayBorder('*', 5) )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

Ausgabe, wenn kein Argument übergeben wird: =============== '*' wird als erstes Argument verwendet. Ausgabe, wenn das erste Argument übergeben wird: *************** '*' wird als erstes Argument verwendet. 5 wird als zweites Argument verwendet. Ausgabe, wenn beide Argumente übergeben werden: *****

Kotlin nannte Argument

Bevor wir über das genannte Argument sprechen, betrachten wir eine kleine Änderung des obigen Codes:

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(5) )

Hier versuchen wir, das zweite Argument an die displayBorder()Funktion zu übergeben und das Standardargument für das erste Argument zu verwenden. Dieser Code gibt jedoch einen Fehler bei der Verwendung aus. Dies liegt daran, dass der Compiler denkt, wir versuchen Int, Zeichen ( CharTyp) mit 5 ( Wert) zu versehen .

Um diese Situation zu lösen, können benannte Argumente verwendet werden. Hier 'wie:

Beispiel: Kotlin benanntes Argument

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(length = 5) ) 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 =====

Im obigen Programm verwenden wir das benannte Argument ( length = 5), das angibt, dass der Längenparameter in der Funktionsdefinition diesen Wert annehmen soll (unabhängig von der Position des Arguments).

Das erste Argumentzeichen verwendet den Standardwert '='im Programm.

Interessante Beiträge...