kotlin函数返回函数
例1:
// func返回匿名函数
fun func(msg: String): (String, Int) -> String {
println("func函数 msg:$msg")
// 返回匿名函数
return { name: String, age: Int ->
"匿名函数:name:$name,age:$age,msg:$msg"
}
}
fun main(args: Array<String>) {
// foo是func函数的返回值,这个返回值是函数
val foo = func("kotlin")
// foo是匿名函数
println(foo("zhangphil", 18))
}
输出:
func函数 msg:kotlin
匿名函数:name:zhangphil,age:18,msg:kotlin
例2:计算 2 *(3+4)
fun math(c: Int): (Int, Int) -> Int {
return { a: Int, b: Int -> (a + b) * c }
}
fun main(args: Array<String>) {
val foo = math(2)
// foo是匿名函数
println(foo(3, 4))
}
输出:
14