Kotlin - Funktionen
Kotlin ist eine statisch typisierte Sprache, daher spielen Funktionen eine große Rolle. Wir sind mit der Funktion ziemlich vertraut, da wir die Funktion in allen Beispielen verwenden. Die Funktion wird mit dem Schlüsselwort "fun" deklariert. Wie jedes andere OOP benötigt es auch einen Rückgabetyp und eine Optionsargumentliste.
Im folgenden Beispiel definieren wir eine Funktion namens MyFunction. Von der Hauptfunktion aus rufen wir diese Funktion auf und übergeben ein Argument.
fun main(args: Array<String>) {
println(MyFunction("tutorialsPoint.com"))
}
fun MyFunction(x: String): String {
var c:String = "Hey!! Welcome To ---"
return (c+x)
}
Der obige Code liefert die folgende Ausgabe im Browser.
Hey!! Welcome To ---tutorialsPoint.com
Die Funktion sollte wie folgt deklariert werden:
fun <nameOfFunction>(<argument>:<argumentType>):<ReturnType>
Im Folgenden sind einige der verschiedenen in Kotlin verfügbaren Funktionstypen aufgeführt.
Lambda-Funktion
Lambda ist eine Funktion auf hoher Ebene, die den Code der Kesselplatte drastisch reduziert, während eine Funktion deklariert und definiert wird. Mit Kotlin können Sie Ihr eigenes Lambda definieren. In Kotlin können Sie Ihr Lambda deklarieren und dieses Lambda an eine Funktion übergeben.
Schauen Sie sich das folgende Beispiel an.
fun main(args: Array<String>) {
val mylambda :(String)->Unit = {s:String->print(s)}
val v:String = "TutorialsPoint.com"
mylambda(v)
}
Im obigen Code haben wir unser eigenes Lambda namens "mylambda" erstellt und eine Variable an dieses Lambda übergeben, das vom Typ String ist und den Wert "TutorialsPoint.com" enthält.
Der obige Code liefert die folgende Ausgabe im Browser.
TutorialsPoint.com
Inline-Funktion
Das obige Beispiel zeigt die Grundlagen des Lambda-Ausdrucks, den wir in der Kotlin-Anwendung verwenden können. Jetzt können wir ein Lambda an eine andere Funktion übergeben, um unsere Ausgabe zu erhalten, wodurch die aufrufende Funktion zu einer Inline-Funktion wird.
Schauen Sie sich das folgende Beispiel an.
fun main(args: Array<String>) {
val mylambda:(String)->Unit = {s:String->print(s)}
val v:String = "TutorialsPoint.com"
myFun(v,mylambda) //passing lambda as a parameter of another function
}
fun myFun(a :String, action: (String)->Unit) { //passing lambda
print("Heyyy!!!")
action(a)// call to lambda function
}
Der obige Code liefert die folgende Ausgabe im Browser. Mit der Inline-Funktion haben wir ein Lambda als Parameter übergeben. Jede andere Funktion kann mit dem Schlüsselwort "inline" zu einer Inline-Funktion gemacht werden.
Heyyy!!!TutorialsPoint.com