函数式编程:
函数式编程的特点
函数式编程核心价值在于多核编程。
1) 参数私有 val,没有线程安全问题,这样就为分布式高并发提供了支持
2) 把函数做为参数
3) 把函数的返回值作为参数
定义:在js中方法和函数比较模糊。scala中的函数和方法不同,函数在scala中是一等公民。
格式:(参数:类型):返回值类型 => { 表达式; 表达式... }
函数可以被赋值给其他变量或常量,可以作为参数传递,也可以作为返回值
object TestFunction {
def add(a:Int,b:Int) = { a+b } //定义对象的方法
def main(args: Array[String]): Unit = {
val fnadd = (a:Int,b:Int) => { a+b } //定义函数
println(fnadd(10,20))
println(add(10,20))
}
}
函数编程的威力:
任务:已存在一个数字集合,按照奇偶数分成两个集合,下面是java的实现
java实现:
List<Integer> list = new ArrayList<Integer>();
list.a