函数式编程


先来看一下,下面的函数定义:

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(_+"一点信仰!!!")

文章作者: tzkTangXS
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 tzkTangXS !
  目录