高阶函数(Higher level function)是接受函数作为参数或返回函数或者可以同时执行的函数。意味着, 除了将Int, String或其他类型作为参数传递给函数外, 我们还可以将函数作为参数传递给其他函数。
让我们看下面的例子:
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", "srcmini02.com", fn)
}
输出:
sssit.org develop srcmini02.com
上面的高阶函数也可以用另一种方式调用, 如下所述在main()函数中的代码:
myFun("sssit.org", "srcmini02.com", {org, portal->"$org develop $portal"})
评论前必须登录!
注册