要点
- 这是除了使用def之外,定义函数的另一种方式。
- 语法:var 变量 = (参数列表)=>{方法体}
- 它省略了def,函数名以及函数的返回值类型。
基本案例一
def sum1(x: Int, y: Int): Int = {
x + y
}
val sum2 = (x: Int, y: Int) =>{ x + y}
def main(args: Array[String]): Unit =
println(sum1(10, 20))
println(sum2(10, 20))
基本案例二
val sum1 = (x: Int, y: Int) => {x + y}
val sum2 = (x: Int, y: Int) => x + y
val sum3: (Int, Int) => Int = _ + _
def main(args: Array[String]): Unit = {
println(sum1(10, 20))
println(sum2(10, 20))
println(sum3(10, 20))
}
部分应用函数
val sum2 = (a: Int, b: Int, c: Int) => a+b+c
def main(args: Array[String]): Unit = {
val r=sum2(10,20,_)
println(r(50))
val r1=sum2(_,20,_)
println(r1(10,30))
}