Kotlin 函数


Kotlin 是一种静态类型语言,因此函数在其中发挥了重要作用。我们对函数非常熟悉,因为我们在整个示例中都使用函数。函数是用关键字“fun”声明的。像任何其他 OOP 一样,它也需要一个返回类型和一个选项参数列表。

在下面的例子中,我们定义了一个名为 MyFunction 的函数,我们从主函数调用这个函数并传递一些参数。

fun main(args: Array<String>) {
    println(MyFunction("Newbiego.com"))
}
fun MyFunction(x: String): String {
    var c:String  = "Hey!! Welcome To ---"
    return (c+x)
}

上面的代码将在浏览器中产生以下输出。

Hey!! Welcome To ---Newbiego.com

该函数应声明如下:

fun <nameOfFunction>(<argument>:<argumentType>):<ReturnType>

以下是 Kotlin 中可用的一些不同类型的函数。

Lambda 函数


Lambda 是一个高级函数,它在声明和定义函数的同时大大减少了样板代码。 Kotlin 允许你定义自己的 lambda。在 Kotlin 中,你可以声明 lambda 并将该 lambda 传递给函数。

看看下面的例子。

fun main(args: Array<String>) {
    val mylambda :(String)->Unit  = {s:String->print(s)}
    val v:String = "Newbiego.com"
    mylambda(v)
}

在上面的代码中,我们创建了我们自己的 lambda 称为“mylambda”,并且我们已经将一个变量传递给这个 lambda,它是 String 类型并包含一个值“Newbiego.com”。

上面的代码将在浏览器中产生以下输出。

Newbiego.com

内联函数


上面的例子展示了我们可以在 Kotlin 应用程序中使用的 lambda 表达式的基础。现在,我们可以将 lambda 传递给另一个函数以获取我们的输出,这使调用函数成为内联函数。

看看下面的例子。

fun main(args: Array<String>) {
    val mylambda:(String)->Unit  = {s:String->print(s)}
    val v:String = "Newbiego.com"
    myFun(v,mylambda) // 将 lambda 作为另一个函数的参数传递
}
fun myFun(a :String, action: (String)->Unit) { // 传递 lambda
    print("Heyyy!!!")
    action(a)// 调用 lambda 函数
}

上面的代码将在浏览器中产生以下输出。使用内联函数,我们传递了一个 lambda 作为参数。任何其他函数都可以使用“inline”关键字成为内联函数。

Heyyy!!!Newbiego.com