Scala 匿名函数

返回上一级

Scala 中的 匿名函数 是没有方法名,也不用 def 定义的函数。一般匿名函数都是一个 表达式

因此 匿名函数 非常适合替换那些只用一次且任务简单的常规函数

匿名函数,会使得我们的代码变得更简洁了。

匿名函数的语法很简单,箭头左边是参数列表,右边是函数体。

定义匿名函数的语法为:

(param1,param2) => [expression]

下面的表达式就定义了一个接受一个Int类型输入参数的匿名函数:

var inc = (x:Int) => x+1

上述定义的匿名函数,其实是下面这个常规函数的简写:

def add(x:Int):Int {
    return x+1;
}

以上范例的 inc 现在可作为一个函数,使用方式如下:

var x = inc(7)-1

同样我们可以在匿名函数中定义多个参数:

var mul = (x: Int, y: Int) => x*y

mul 现在可作为一个函数,使用方式如下:

println(mul(3, 4))

我们也可以不给匿名函数设置参数,如下所示:

var userDir = () => { System.getProperty("user.dir") }

userDir 现在可作为一个函数,使用方式如下:

println( userDir() )

范例

object Demo {
   def main(args: Array[String]) {
      println( "multiplier(1) value = " +  multiplier(1) )
      println( "multiplier(2) value = " +  multiplier(2) )
   }
   var factor = 5
   val multiplier = (i:Int) => i * factor
}

编译执行上面的代码,输出为:

multiplier(1) value = 5
multiplier(2) value = 10

返回上一级

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.