In diesem Artikel lernen Sie, wie Sie mithilfe der Infix-Notation eine Funktion in Kotlin aufrufen (anhand von Beispielen).
Bevor Sie lernen, wie Sie eine Funktion mit Infix-Notation erstellen, wollen wir zwei häufig verwendete Infix-Funktionen untersuchen.
Wenn Sie ||
und &&
Operationen verwenden, sucht der Compiler nach oder und und Funktionen und ruft sie unter der Haube auf.
Diese beiden Funktionen unterstützen die Infixnotation.
Beispiel: Kotlin oder & und Funktion
fun main(args: Array) ( val a = true val b = false var result: Boolean result = a or b // a.or(b) println("result = $result") result = a and b // a.and(b) println("result = $result") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Ergebnis = wahr Ergebnis = falsch
Im obigen Programm wird a or b
anstelle von a.or(b)
und a and b
anstelle von a.and(b)
verwendet. Dies war möglich, da diese beiden Funktionen die Infixnotation unterstützen.
Wie erstelle ich eine Funktion mit Infix-Notation?
Sie können in Kotlin einen Funktionsaufruf mit Infix-Notation durchführen, wenn die Funktion
- ist eine Mitgliedsfunktion (oder eine Erweiterungsfunktion).
- hat nur einen einzigen Parameter.
- ist mit
infix
Schlüsselwort markiert .
Beispiel: Benutzerdefinierte Funktion mit Infix-Notation
class Structure() ( infix fun createPyramid(rows: Int) ( var k = 0 for (i in 1… rows) ( k = 0 for (space in 1… rows-i) ( print(" ") ) while (k != 2*i-1) ( print("* ") ++k ) println() ) ) ) fun main(args: Array) ( val p = Structure() p createPyramid 4 // p.createPyramid(4) )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
* * * * * * * * * * * * * * * *
Hier createPyramid()
ist eine Infix-Funktion, die eine Pyramidenstruktur erstellt. Es ist eine Mitgliedsfunktion der Klasse Structure
, nimmt nur einen Parameter vom Typ Int
und beginnt mit dem Schlüsselwort infix
.
Die Anzahl der Zeilen der Pyramide hängt von dem an die Funktion übergebenen Argument ab.