Menu
Coddy logo textTech

Benannte Argumente

Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 58 von 93.

Wenn du eine Funktion mit mehreren Parametern aufrufst, übergibst du Argumente normalerweise in genau der Reihenfolge, in der sie definiert sind. Kotlin bietet jedoch eine übersichtlichere Alternative: benannte Argumente.

Mit benannten Argumenten gibst du an, zu welchem Parameter jeder Wert gehört, indem du den Parameternamen gefolgt von = verwendest:

fun createProfile(name: String, age: Int, city: String) {
    println("$name, $age, from $city")
}

fun main() {
    createProfile(name = "Alice", age = 25, city = "Paris")
}
// Ausgabe: Alice, 25, aus Paris

Dadurch wird dein Code besser lesbar, insbesondere wenn eine Funktion mehrere Parameter desselben Typs hat. Vergleiche diese beiden Aufrufe:

// Ohne benannte Argumente – was bedeuten diese Zahlen?
calculateArea(10, 5, 3)

// Mit benannten Argumenten – viel klarer!
calculateArea(length = 10, width = 5, height = 3)

Benannte Argumente ermöglichen es dir auch, Werte in jeder gewünschten Reihenfolge zu übergeben:

fun greet(firstName: String, lastName: String) {
    println("Hello, $firstName $lastName!")
}

fun main() {
    greet(lastName = "Smith", firstName = "John")
}
// Ausgabe: Hello, John Smith!

Du kannst Positions- und benannte Argumente mischen, aber sobald du ein benanntes Argument verwendest, sollten auch alle folgenden Argumente benannt sein, um Verwirrung zu vermeiden.

challenge icon

Aufgabe

Mittel

Dir wird die folgende Funktion bereitgestellt:

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

Lies drei Eingaben ein: einen Buchtitel (String), einen Autorennamen (String) und ein Veröffentlichungsjahr (Int).

Rufe die Funktion formatBook mit benannten Argumenten in dieser spezifischen Reihenfolge auf: year, title, author.

Wenn die Eingaben beispielsweise wie folgt lauten:

1984
George Orwell
1949

Die Ausgabe sollte wie folgt aussehen:

"1984" by George Orwell (1949)
ERFORDERLICHES AUSGABEFORMAT: [Dein übersetzter Inhalt hier]

Probier es selbst

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

fun main() {
    val title = readLine()!!
    val author = readLine()!!
    val year = readLine()!!.toInt()
    
    // TODO: Rufe formatBook mit benannten Argumenten in dieser Reihenfolge auf: year, title, author
    
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Kotlin-Playground