高阶函数(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"})
推荐阅读
- Kotlin if表达式
- 命令行中的Kotlin Hello World程序。
- Kotlin第一个程序打印HelloWorld
- Kotlin HashSet类
- Kotlin HashMap(hashMapOf())
- Kotlin HashMap类
- Kotlin泛型
- Kotlin函数
- Kotlin for循环