先来看一下,下面的函数定义:
def f(x:Int) = x*2
是不是很像数学上的f(x)= 表达式
没错,这就是函数式变成,它所在意的是自变量和因变量之间的映射关系.
Int => Int
也就是数学上的函数,所以才有了以上的写法.这样只学了数学的人就会相对容易的上手.
由于数学上的函数,相对是定死的(对于自变量x有且仅有唯一的一个f(x)值与之对应 ).不会有变化.该是怎么样的曲线便是什么样的曲线.
而,在分布式系统上需要的就是这样的稳定性.一拍即合.
它天生便适合大数据,或者说为大数据而生也不为过.
函数致简原则
记住一点就够了:当参数在=>右边只出现一次,用_替代即可
其他的就按照能省既省原则即可
example
def f(name:String) = name+"一点信仰!!!"
// name:String => name+"一点信仰!!!"
// _ + "一点信仰!!!"
def f2(fn: String => String){
fn("小明")
}
f2(_+"一点信仰!!!")