超级重要的匿名函数
Scala支持匿名函数,创建匿名函数不需要使用def关键字,符号=>的左侧定义 参数列表,右侧定义函数体实现。
下面的匿名函数为名为x的变量加1并返回结果:
scala> (x: Int) => x + 1 res2: (Int) => Int = ...
函数可以赋值给变量或常量,这是函数式编程的一个特点。下面将匿名函数赋给addOne常量,后续代码中就可以 使用addOne进行调用了:
scala> val addOne = (x: Int) => x + 1 addOne: (Int) => Int = ... scala> addOne(1) res4: Int = 2
如果匿名函数体实现包含多行表达式,可以使用{}来包围代码,例如:
scala> { i: Int => println("hello world") i * 2 } res0: (Int) => Int = ...
函数是scala的一等公民,匿名函数是Spark计算力分布的关键!
请定义匿名函数,实现两个Int型参数相乘的功能,并将该函数赋值给变量 myFunc。