English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Standard- und benannte Parameter in Kotlin

In diesem Artikel werden Sie mit Hilfe von Beispielen die Standardparameter und benannten Parameter kennenlernen.

Kotlin Standardparameter

In Kotlin können Sie Standardwerte für Parameter in der Funktionsdefinition angeben.

Wenn die Funktion mit übergebenen Parametern aufgerufen wird, werden diese als Parameter verwendet. Aber wenn die Funktion ohne Parameter aufgerufen wird, werden Standardparameter verwendet.

Wie funktionieren Standardparameter?

Eins: Alle Parameter übermitteln

Die Funktion foo() hat zwei Parameter. Parameter haben Standardwerte. Aber foo() wird in diesem Programm mit zwei Parametern aufgerufen. Daher werden keine Standardparameter verwendet.

In der Funktion foo() haben letter und number die Werte 'x' und 2.

Zwei: Keine Parameter übermittelt, nur ein Parameter übermittelt

Hier wird nur ein (erster) Parameter an die Funktion foo() übermittelt. Daher wird der erste Parameter der übergebene Wert der Funktion verwendet. Der zweite Parameter number wird jedoch den Standardwert annehmen, da der zweite Parameter während der Funktionsauf呼叫未 übermittelt wurde.

In der Funktion foo() haben letter und number die Werte 'y' und 15.

Drei: Keine Parameter übermittelt

Hier wird die Funktion foo() ohne Parameter aufgerufen. Daher werden beide Parameter ihre Standardwerte verwenden.

In der Funktion foo() haben letter und number die Werte 'a' und 15.

Beispiel: Kotlin Standardparameter

fun displayBorder(character: Char = '=', length: Int = 15) {
    for (i in 1..length) {
        print(character)
    }
}
fun main(args: Array<String>) {
    println("Keine Parameter übermittelt:")
    displayBorder()
    println("\n\n"*' Als erster Parameter verwendet.
    println("Die Ausgabe bei der Übermittlung des ersten Parameters:")
    displayBorder('*')
    println("\n\n"*' Wird als erster Parameter verwendet.
    println("5Wird als zweiter Parameter verwendet.
    println("Die Ausgabe bei der Übermittlung von zwei Parametern gleichzeitig:")
    displayBorder('*', 5)
}

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

Keine Parameter übermittelt:
===============
'*' Als erster Parameter.
Die Ausgabe bei der Übermittlung des ersten Parameters:
***************
'*' Als erster Parameter.
5Als zweiter Parameter.
Die Ausgabe bei der Übermittlung von zwei Parametern gleichzeitig:
*****

Kotlin benannte Parameter

Bevor wir über benannte Parameter sprechen, lassen Sie uns einige Änderungen am obigen Code vornehmen:

fun displayBorder(character: Char = '=', length: Int = 15) {
    for (i in 1..length) {
        print(character)
    }
}
fun main(args: Array<String>) {
    displayBorder(5)
}

Hier versuchen wir, den zweiten Parameter an die Funktion displayBorder() zu übergeben und den ersten Parameter mit Standardwerten zu verwenden. Dieser Code gibt jedoch einen Fehler. Dies liegt daran, dass der Compiler denkt, dass wir versuchen, ein Zeichen (Char-Typ) zu liefern5(Int-Wert).

Um dieses Problem zu lösen, können benannte Parameter verwendet werden. Der Vorgang ist wie folgt:

Beispiel: Kotlin benannte Parameter

fun displayBorder(character: Char = '=', length: Int = 15) {
    for (i in 1..length) {
        print(character)
    }
}
fun main(args: Array<String>) {
    displayBorder(length = 5)
}

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

=====

In dem obigen Programm verwenden wir benannte Argumente (length = 5)um anzugeben, dass der Wert für die Parameter in der Definition der length-Funktion diesen Wert haben soll (unabhängig von der Position der Argumente).

Der erste Parametercharakter verwendet den Standardwert des Programms '='.