Kotlin 高阶函数

Kotlin 高阶函数高阶函数或更高阶函数可以将另一个函数作为参数或返回函数,或者可以同时执行这两个函数。到目前为止我们已经看到如何将整数,字符串等作为参数传递给函数,但在本指南中,我们将学习如何将函数传递给另一个函数。我们还将看到函数如何返回另一个函数。

Kotlin 高阶函数示例:将函数传递给另一个函数

在下面的例子中,我们将函数demo()传递给另一个函数func()。要将函数作为参数传递给其他函数,我们在函数之前使用::运算符,如下例所示。

fun main(args: Array<String>) {

    func("BeginnersBook", ::demo)

}

fun func(str: String, myfunc: (String) -> Unit) {
    print("Welcome to Kotlin tutorial at ")
    myfunc(str)
}
fun demo(str: String) {
    println(str)
}

输出:

Kotlin 高阶函数

Kotlin 高阶函数示例:函数返回另一个函数

在以下示例中,自定义函数func正在返回另一个函数。

要理解这段代码,让我们首先看一下函数func,它接受一个整数参数num,在返回区域我们定义了一个函数(Int) -> Int = {num2 -> num2 + num},所以这是另一个接受整数参数的函数并返回该参数和num的总和。

您可能想知道为什么我们将值 20 作为sum中的参数传递,这是因为函数func返回了函数,因此sum是接受int参数的函数。这与我们在函数func的返回区域中定义的函数相同。

fun main(args: Array<String>) {

    val sum = func(10)
    println("10 + 20: ${sum(20)}")

}

fun func(num: Int): (Int) -> Int = {num2 -> num2 + num}

输出:

Kotlin 高阶数返回另一个函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程