一、函数的字面量语法
除了使用def之外的,另一种定义函数的方式
语法:var 变量 = (参数列表)=>{方法体}
它省略了def,函数名以及函数的返回值类型。多了一个=>
代码演示:
less
体验AI代码助手
代码解读
复制代码
object basic45 {
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))
}
}
结果:
Scala的函数字面量的简化方式
第一种方式为:_(占位符)。如果函数中的参数在方法体中只使用了一次,可以用_替换。
第二种方式为:只有一个表达式时,可以省略括号{}。
代码演示:
kotlin
体验AI代码助手
代码解读
复制代码
object basic46 {
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))
}
}
结果:
部分应用函数
如果一个函数包含多个参数,对该函数传递部分参数使得这个函数返回一个函数,那么这种函数叫做部分应用函数
案例:定义一个函数,计算三个整数的和
代码:
less
体验AI代码助手
代码解读
复制代码
object basic47 {
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))
}
}
结果: