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 ParisDadurch 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.
Aufgabe
MittelDir 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
1949Die Ausgabe sollte wie folgt aussehen:
"1984" by George Orwell (1949)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
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische EingabeÜbe selbstständig: Kotlin-Playground