Apache Spark 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

超级重要的匿名函数

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。