Kotlin高阶功能

高阶函数(Higher level function)是接受函数作为参数或返回函数或者可以同时执行的函数。意味着, 除了将Int, String或其他类型作为参数传递给函数外, 我们还可以将函数作为参数传递给其他函数。
【Kotlin高阶功能】让我们看下面的例子:

fun myFun(org: String, portal: String, fn: (String, String) -> String): Unit {val result = fn(org, portal)println(result)}

在上面的示例中, 我们定义了带有三个参数的函数myFun()。第一个和第二个参数将String和第三个参数作为从String到String的函数类型。参数String to String type表示函数将字符串作为输入并以字符串类型返回输出。
要调用上述函数, 我们可以传递函数常量或lambda。例如:
fun myFun(org: String, portal: String, fn: (String, String) -> String): Unit {val result = fn(org, portal)println(result)}fun main(args: Array< String> ){val fn:(String, String)-> String={org, portal-> "$org develop $portal"}myFun("sssit.org", "srcmini.com", fn)}

输出:
sssit.org develop srcmini.com

上面的高阶函数也可以用另一种方式调用, 如下所述在main()函数中的代码:
myFun("sssit.org", "srcmini.com", {org, portal-> "$org develop $portal"})

    推荐阅读