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

举报
Lansonli 发表于 2021/09/28 23:08:45 2021/09/28
【摘要】 目录 函数式编程 介绍 函数式编程的意义在哪? 函数式编程 介绍 我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程。下面的这些操作是学习的重点。 现在我们将会逐渐接触函数式编程的方式. 比如我们要说的第一个foreach方法, 就是一个典型的函数式编程方式. 我们将一个函数当做参数 传递给另一个方法/...

目录

函数式编程 介绍

函数式编程的意义在哪?


函数式编程 介绍

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

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

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

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

start...

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

 

函数式编程的意义在哪?

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

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

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

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

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

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

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

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

文章来源: lansonli.blog.csdn.net,作者:Lansonli,版权归原作者所有,如需转载,请联系作者。

原文链接:lansonli.blog.csdn.net/article/details/116505435

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。