📅  最后修改于: 2021-01-05 07:26:19             🧑  作者: Mango
高阶函数(更高层函数)是接受函数作为参数或返回一个函数或者两者兼用的函数。装置,而不是传递中等,字符串,或其它类型的作为参数的函数,我们可以将一个函数在其他函数的参数。
让我们看下面的例子:
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){
val fn:(String,String)->String={org,portal->"$org develop $portal"}
myFun("sssit.org","javatpoint.com",fn)
}
输出:
sssit.org develop javatpoint.com
上面的高阶函数也可以用另一种方式调用,如下面在main()函数中提到的代码:
myFun("sssit.org","javatpoint.com",{org,portal->"$org develop $portal"})