变量的不可变性:
"变量"这个词在函数式编程中和在传统的面向对象编程是不同的,面向对象编程认为变量是可变的,然而,在函数式编程中,变量时不可变的....Scala中的函数式编程
作为一门面向对象与函数式的混合范式语言,Scala并不强制函数必须是纯函数,也并不要求变量时不可变的(但是尽量将变量设为不可变)
在前面几个章节中,我们学习了Scala的高阶函数...匿名函数,Lambda和闭包
在前面的篇章中,我们也了解了匿名函数,Lambda和闭包的知识,在这里我们在详细的叙述一遍....闭包 :
首先还是上面的例子,我们使用闭包来推演一下:
var factor = 2
val multipliter = (i : Int) => i * factor // 还记得在高阶函数章节中...注意看我们使用两个不同的 factor 值时,程序的运行结果。首先我们的输出值为 122880,与之前相同,但接着输出值为 933120。