匿名函数就是一个没有名字函数,不是显式定义的,Scala 中定义匿名函数的语法很简单,箭头左边是参数列表,右边是函数体。
使用匿名函数后,我们的代码变得更简洁了。下面的表达式就定义了一个接受一个Int类型输入参数的匿名函数:
object Test7{
def main(argc:Array[String]){
var add = (a:Int ,b:Int) => a+b;
var sub = (a:Int ,b:Int) => a*b;
var x = add(12 , 24);
var y = sub(3 , 13);
println("x="+x);
println("y="+y);
}
}
编译执行
[root@node1 scala]# scalac Test7.scala
[root@node1 scala]# scala Test7
x=36
y=39
[root@node1 scala]#
scala> var userDir = () => { System.getProperty("user.dir") }
userDir: () => String = <function0>
scala> println(userDir())
/root
scala>