示例
val add1 = (i: Int) => i + 1 // implicit return type (IRT)
val add1: Int => Int = (i) => i + 1 // explicit return type (ERT)
方法体加入括号
val add1 = (i: Int) => { i + 1 }
val add1: Int => Int = (i) => { i + 1 }
对于ERT语法,只有一个输入参数,可以去掉参数的括号
val add1: Int => Int = (i) => { i + 1 }
val add1: Int => Int = i => { i + 1 } // parentheses not required
两个输入参数
val sum = (a: Int, b: Int) => a + b // implicit
val sum: (Int, Int) => Int = (a, b) => a + b // explicit
ERT语法详解
IRT语法详解
匿名函数赋值
观察REPL输出
scala> val sum = (a: Int, b: Int) => a + b // implicit
sum: (Int, Int) => Int = <function2>
scala> val sum: (Int, Int) => Int = (a, b) => a + b // explicit
sum: (Int, Int) => Int = <function2>