1.高阶函数
定义:一个函数接收另一个函数作为参数,或者返回值的类型是另一个函数,那么该函数就称为高阶函数。
基本格式如下:
fun example(func:(String,Int)->Unit){
func("holle",123)
}
例子:
fun plus(num1: Int, num2: Int) = num1 + num2
fun minus(num1: Int, num2: Int) = num1 - num2
fun num1AndNum2(num1: Int, num2: Int, operation: (Int, Int) -> Int) {
operation(num1,num2)
}
//调用方式
num1AndNum2(2,1,::plus)
num1AndNum2(2,1,::minus)
lambda调用方式:
num1AndNum2(2,1){
n1,n2->n1+n2
}
2.内联函数
将上述高阶函数转化成java如下: