Scala中函数为头等公民,你不仅可以定义一个函数然后调用它,而且你可以写一个未命名的函数字面量,然后可以把它当成一个值传递到其它函数或是赋值给其它变量。
定义函数的方式1
def sum(x:Int,y:Int)={
x+y
}
定义函数的方式2
var sum1 = (x:Int,y:Int) => { x + y }1620b59cff4e4666b7426b51f5103858.png
简写方法:
1
当函数字面量只有一个参数时,可以省略参数列表的括号。例如,下面的代码展示了一个接受一个整数参数并返回它的平方的函数字面量:
val square: Int => Int = x => x * x
在上面的代码中,我们省略了参数列表的括号,直接使用x作为参数。
2
使用下划线作为占位符,我们还可以方便地进行部分应用函数的操作。部分应用函数是指在调用函数时只指定部分参数,而不是所有参数。例如:
val add2: Int => Int = add(2, _)
在这个例子中,我们定义了一个新的函数add2,它接受一个整数参数并调用了之前定义的add函数,并指定了第一个参数为2。使用下划线作为占位符,我们实现了对函数add的部分应用