函数的字面量语法
另一种定义函数的方式
相对于def来说,它:
1.省略了返回值类型
2.省略了函数名,现在就是变量名
3.多一个 =>
eg:
def sum1(x:Int, y:Int):Int = {
x+y
}
/*
函数字面量语法
相对于def来说,它:
1.省略了返回值类型
2.省略了函数名,现在就是变量名
3.多一个 =>
*/
val sum2 = (x:Int, y:Int) => {x+y}
val sum2 = (x:Int, y:Int) => x+y
val sum3:(Int, Int) => Int = _ + _ // _代表任意参数,相当于sum2
def main(args:Array[String]): Unit = {
println(sum1(10,20))
println(sum2(10,20))
}
}
eg:
/*
部分应用函数
定义一个函数,用它来计算三个整数的和
def sum1(a: Int, b: Int, c: Int): Int = {
a+b+c
}
*/
/*
函数字面量语法
相对于def来说,它:
1.省略了返回值类型
2.省略了函数名,现在就是变量名
3.多一个 =>
*/
val sum2 = (a:Int, b:Int,c:Int) => a+b+c
def main(args:Array[String]): Unit = {
/*
println(sum1(10,20,30))
如果给的参数不够会报错!
println(sum2(10,20))
*/
val r = sum2(10,20, _) // _ 表示一个占位符:现在还不知道具体是什么
println(r(50))
val r1 = sum2(_,20,_)
println(r1(10,30))
}
}