本篇作为scala快速入门系列的第十篇博客,小菌为大家带来的是关于函数的相关内容。
函数
scala支持函数式编程,将来编写Spark/Flink程序中,会大量经常使用到函数。
定义函数
语法
[!TIP]
- 函数是一个对象(变量)
- 类似于方法,函数也有输入函数和返回值
- 函数定义不需要使用
def
定义 - 无需指定返回值类型
示例
1.调用一个两个数值相加的函数 2.调用该函数
参考代码
看到这里大家一定觉得这跟上一篇讲到的scala的方法
基本没什么区别。别急,接下来就大家进行讲解。
方法和函数的区别
- 方法是隶属于类或者对象的,在运行时,它是加载到JVM的方法区中
- 可以将函数对象赋值给一个变量,在运行时,它是加载到JVM的堆内存中
- 函数是一个对象,继承自FunctionN,函数对象有apply,curried,toString,tupled这些方 法。方法则没有。
示例
方法无法赋值给变量
方法转换为函数
- 有时候需要将
方法转换为函数
,作为变量传递,就需要将方法转换为函数 - 使用
_
即可将方法转换为函数
示例
- 定义一个方法用来进行两个数相加
- 将该方法转换为一个函数,赋值给变量
参考代码
本篇博客到这里就结束了,感兴趣的小伙伴们可以持续关注哟~下一篇将为大家带来数组
的基本使用,敬请期待!