Infix-Funktionen
Lesbare Funktionsaufrufe
Infix-Funktionen ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist eine Infix-Funktion?
Eine Infix-Funktion kann ohne Punkt oder Klammern aufgerufen werden: a func b. Kennzeichnen Sie sie mit dem Schlüsselwort infix.
infix fun Int.times2(factor: Int) = this * factor
fun main() {
println(3 times2 4)
}Regeln für Infix-Funktionen
Eine Infix-Funktion muss eine Member- oder Erweiterungsfunktion sein, genau einen Parameter annehmen und darf weder vararg sein noch einen Standardwert haben.
infix fun Int.plusBy(other: Int) = this + other
fun main() {
println(5 plusBy 7)
}Integrierte Infix-Funktionen
Viele Standardfunktionen sind Infix-Funktionen: to (erstellt ein Pair), and, or, shl sowie until, downTo und step für Bereiche.
fun main() {
val pair = "key" to 42
println(pair)
for (i in 1 until 4) print(i)
}Ein Pair mit to erstellen
Die vertraute Map-Syntax "a" to 1 ist lediglich die Infix-Funktion to, die ein Pair zurückgibt.
fun main() {
val map = mapOf(1 to "one", 2 to "two")
println(map[2])
}Infix als Member-Funktion
Infix-Funktionen können Member sein, sodass Sie flüssig lesbare Ausdrücke für Ihre Domäne schreiben können.
class Money(val cents: Int) {
infix fun add(o: Money) = Money(cents + o.cents)
}
fun main() {
val total = Money(100) add Money(50)
println(total.cents)
}Lesbarkeit zuerst
Infix-Funktionen spielen ihre Stärke aus, wenn der Aufruf wie ein Satz klingt. Wählen Sie Verbnamen, damit a name b natürlich wirkt.
infix fun String.repeatedTimes(n: Int) = this.repeat(n)
fun main() {
println("ab" repeatedTimes 3)
}Vorrang von Infix-Aufrufen
Infix-Aufrufe haben einen niedrigeren Vorrang als arithmetische Operationen, aber einen höheren als Vergleiche. Fügen Sie beim Mischen Klammern hinzu, damit der Ausdruck eindeutig bleibt.
infix fun Int.combine(o: Int) = this * 10 + o
fun main() {
println(1 combine 2 + 3)
}Der this-Receiver
In einer Infix-Erweiterung ist this der linke Operand und der Parameter der rechte Operand.
infix fun Int.minus2(o: Int) = this - o
fun main() {
println(10 minus2 3)
}Infix-Aufrufe verketten
Infix-Aufrufe sind linksassoziativ, sodass Sie sie verketten können.
infix fun Int.then(o: Int) = this + o
fun main() {
println(1 then 2 then 3)
}Infix nicht übermäßig verwenden
Infix-Funktionen lassen Punkte und Klammern weg, was bei nicht offensichtlichen Operationen die Klarheit beeinträchtigen kann. Verwenden Sie sie nur, wenn der Ausdruck dadurch besser lesbar wird.
infix fun Int.power(exp: Int): Int {
var r = 1
repeat(exp) { r *= this }
return r
}
fun main() {
println(2 power 5)
}Ein flüssig lesbares Beispiel
Mit Infix-Funktionen können Zusicherungen oder Builder fast wie natürliches Deutsch wirken.
infix fun String.shouldStartWith(prefix: String) =
this.startsWith(prefix)
fun main() {
println("kotlin" shouldStartWith "kot")
}Kurzer Test
Testen Sie Ihr Verständnis von Infix-Funktionen.
Zusammenfassung
Sie haben Infix-Funktionen gelernt:
- Kennzeichnen Sie sie mit
infixund rufen Sie sie alsa func bauf. - Sie müssen Member- oder Erweiterungsfunktionen mit genau einem Parameter sein, der weder vararg ist noch einen Standardwert hat.
to,untilunddownTosind integrierte Infix-Funktionen.- Verwenden Sie sie nur dort, wo sie die Lesbarkeit tatsächlich verbessern.
infix fun Int.add(o: Int) = this + o
fun main() {
println(4 add 6)
}Lerne Kotlin mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 51
- Lektionen
- 203
Häufig gestellte Fragen
Ist die Lektion „Infix-Funktionen“ kostenlos?
Ja — der vollständige Text von „Infix-Funktionen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Infix-Funktionen“?
Lesbare Funktionsaufrufe Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kotlin Academy zu starten?
Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Infix-Funktionen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?
Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.