Scala随笔--匿名函数

余生颓废 提交于 2019-12-26 19:11:23

概念

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
}}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!