给出了表达相同功能的三种方式f(a) := a + 1:
val f1 = (a:Int) => a + 1
def f2 = (a:Int) => a + 1
def f3:(Int => Int) = a => a + 1
Run Code Online (Sandbox Code Playgroud)
这些定义有何不同?REPL没有表明任何明显的差异:
scala> f1
res38: (Int) => Int = <function1>
scala> f2
res39: (Int) => Int = <function1>
scala> f3
res40: (Int) => Int = <function1>
Run Code Online (Sandbox Code Playgroud) scala ×1