scala匿名函数

原创
2015/09/10 11:36
阅读数 1K

匿名函数在spark用的很多,经典用法就是:

匿名函数赋值给常量:var add = (a:Int, b:Int) => a + b;

匿名函数赋值给函数:def add = (a:Int, b:Int) => a + b;

然后就可以直接用add(2,3)了。

 

Scala中定义匿名函数的语法是相当轻量的。下面的表达式就定义了一个接受一个Int

类型输入参数的匿名函数:

image

上述定义的匿名函数,其实是下面这种写法的简写:

image

简单调用如下:

image

我们当然也可以定义多个参数的匿名函数:

image

多参数使用Function语法来定义如下

image

也可以定义没有参数的匿名函数:

image

匿名函数的Function语法的实现如下:

image

用来表示上述三个匿名函数(一个参数,两个参数,无参数)的函数类型也很简单

上述三个函数的函数类型分别表示如下:

Int => Int

(Int,Int) => Int

() => Unit

上述表示的函数类型是下面这种表示放法的简写

Function1[Int,Int]

Function2[Int,Int,Int]

Function0[Unit]

转自:

Scala匿名函数语法 - sysman

Anonymous Function Syntax

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部