1、高阶函数
高阶函数,即定义时将参数类型设置为函数,并在定义的地方进行调用,在使用时再将需要的函数体直接写入或通过变量方式传入进去
第一种:外面定义一个函数,在使用时直接调用指向函数体的变量来调用此函数,使用起来和普通函数没太多差别,直接传值
如:交换两个数
# 先定义一个普通函数,实现两个数的交换
def swap2num(x:Double, y:Int):(Int,Double)={(y,x)}
# 再将此函数赋值给一个变量, 注意后面的_不可以省略,此步也可以直接省略,直接调用也是要以的
val sw2 = swap2num _
#最后利用此变量来调用函数并传入参数
sw2(2.333, 19)
第二种:直接使用,在scala和spark中非常常用,直接把函数体在哪使用定义在哪里,或是提前将变量定义好,使用时直接传入进去
即一开始我只是把参数规定好,具体实现由外部传入或使用时直接把逻辑写在调用的地方,随传随用或随调随传
先定义