2021年大数据常用语言Scala(二十):函数式编程 介绍

2021-10-11 10:25:00 浏览数 (1)


函数式编程 介绍

我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程。下面的这些操作是学习的重点。

现在我们将会逐渐接触函数式编程的方式.

比如我们要说的第一个foreach方法, 就是一个典型的函数式编程方式.

我们将一个函数当做参数 传递给另一个方法/函数

start...

  • 遍历(foreach)
  • 映射(map)
  • 映射扁平化(flatmap)
  • 过滤(filter)
  • 是否存在(exists)
  • 排序(sorted、sortBy、sortWith)
  • 分组(groupBy)
  • 聚合计算(reduce)
  • 折叠(fold)

函数式编程的意义在哪?

函数是对象,可以作为参数传递。

函数除了是对象以为,函数也是一种逻辑的封装。

所以传递函数,本质上是传递计算逻辑

普通的编程形式,方法传递的参数是数据

但是函数式编程中,可以将函数进行传递,那么传递的是计算逻辑

回想,Java中也有类似的传递计算逻辑的写法:

  • 反射(比如:匿名内部类,MapReduce)

那么,可以知道:Scala的函数式编程,底层是Java的反射

0 人点赞