概念
Scala中的函数
- Scala是一个函数式编程的语言,意味着函数在Scala中时|“一等公民”,所以函数可以作为参数或者返回值来进行传递和接收
- 函数可以定义在任何地方,函数可以定义函数
- 利用嵌套函数的形式来延长变量的生命周期的方式,称之为函数的闭包
- 将函数作为返回值进行返回或者函数中包含的参数也是函数,这种函数称之为高阶函数
- 递归函数必须手动指定返回值类型,因为函数在递归结束之前,函数无法确定返回值类型,所以导致此时无法进行类型的推导
匿名函数的使用
简单使用
object Test {
def main(args:Array[String]) {
var inc = (x:Int) => x+1
println(inc(1))
var mul = (x: Int, y: Int) => x*y
println(mul(3, 4))
}
}
复杂一点的
val rdd3 = rdd1.mapPartitions{ x => {
val result = List[Int]()
var i = 0
while(x.hasNext){
i += x.next()
}
result.::(i).iterator
}}