通用化简规则
-
如果方法体{},只有一行代码,那么方法体{}可以省略
例:
def f1(a:Int,b:Int,f:(Int,Int)=>Int)={f(a,b)}
等价于 def f1(a:Int,b:Int,f:(Int,Int)=>Int)=f(a,b) -
传入匿名函数时,如果参数的类型可以推断出来,则类型可以省略
例:
f1(2,3,(a:Int,b:Int)=>{a+b})
等价于 f1(2,3,(a,b)=>a+b) -
如果匿名函数的参数只有一个,则参数列表的()可以省略
例:
f2(“hello”,(a:String)=>{a2})
等价于 f2(“hello”,a=>a2) -
最终化简:通过_(占位符)来化简
例:
f2(“hello”,(a:String)=>{a2})
等价于 f2(“hello”,a=>a2)
等价于 f2(“hello”,_*2)