为了让函数字面量更加简洁,我们可以使用下划线作为一个或多个参数的占位符只要每个参数在函数字面量内仅出现一次
下面给出一个示例:
val numList = List(-3, -5 , 1, 6, 9) numList.filter(x=>x>0) numList.filter(_>0)
由于运行结果可以看到:x=>x>0与_>0是等价的
当函数的每个参数在函数字面量内仅出现一次,可以省略“=>”并用下划线“_”作为参数的占位符来简化函数字面量的表示,第一个下划线代表第一个参数,第二个下划线代表第二个参数,依此类推。
有时你把下划线当作参数的占位符时,编译器有可能没有足够的信息推断缺失的参数类型。例如,假设你只是写_+_
这种情况下,你可以运用冒号指定类型,如下