函数定义方式:
fun fc(x: Int, y: Int) = x + y
Lambda定义方式:
val lam = {x: Int, y: Int -> x + y}
高阶函数定义:
fun sfc(x: Int, y: Int, op: (Int, Int) -> Int) = op(x, y)
高阶函数使用:
sfc(x, y, lam) // 使用Lambda
sfc(x, y, ::fc) // 使用函数索引
val fcLam = ::fc // 函数转换成Lambda变量
sfc(x, y, fcLam) // 使用Lambda(函数索引)