Kotlin高階函數
高階函數(高階函數)是一個接受函數作爲參數或返回函數或可以同時執行這兩個函數的函數。 意味着,可以將函數作爲參數傳遞給其他函數,而不是將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
類型表示函數將String
作爲輸入並將輸出作爲字符串類型返回。
要調用上面的函數,可以傳遞函數文字或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("yiibai.org","yiibai.com",fn)
}
執行上面示例代碼,得到以下結果 -
yiibai.org develop yiibai.com
上面的高階函數也可以用另一種方式調用,如下面提到的main()
函數中的代碼:
myFun("yiibai.org","yiibai.com",{org,portal->"$org develop $portal"})