Scala 012 函数

Scala 函数

scala支持函数式编程,将来编写Spark/Flink程序中,会大量使用到函数

  • 函数是一个对象(变量)
  • 类似于方法,函数也有输入参数和返回值
  • 函数定义不需要使用def定义
  • 函数无需指定返回值类型

Scala函数的定义

语法:

val 函数变量名 = (参数名:参数类型, 参数名:参数类型....) => 函数体

例如:

val add = (x:Int,y:Int) => x + y
add(1,2)

在这里插入图片描述

Scala中函数和方法的区别

  • 方法是隶属于类或者对象的,在运行时,它是加载到JVM的方法区中
  • 可以将函数对象赋值给一个变量,在运行时,它是加载到JVM的堆内存中
  • 函数是一个对象,继承自FunctionN,函数对象有apply,curried,toString,tupled这些方法。方法则没有
    例如:方法无法赋值给变量
def add(x:Int,y:Int)=x+y
val go = add

在这里插入图片描述

Scala的方法可以转换为函数

使用 _即可将方法转换为函数
例如:

def add(x:Int,y:Int)=x+y
val go = add _

在这里插入图片描述

发布了293 篇原创文章 · 获赞 184 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42072754/article/details/105133143