Scala匿名函数

Scala匿名函数教程

Scala 中定义匿名函数的语法很简单,箭头左边是参数列表,右边是函数体。使用匿名函数后,我们的代码变得更简洁了。

Scala匿名参数详解

语法

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

说明

我们定义了一个函数 inc,实现了将参数 x 加一。上述定义的匿名函数,其实是下面这种写法的简写:

def add2 = new Function1[Int,Int]{ def apply(x:Int):Int = 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() )

案例

Scala匿名函数

Scala 匿名函数的应用

object HaiCoder { def main(args: Array[String]) : Unit = { println("嗨客网(www.haicoder.net)!\n") println( "multiplier(1) value = " + multiplier(1) ) println( "multiplier(2) value = " + multiplier(2) ) } var factor = 3 val multiplier = (i:Int) => i * factor }

程序运行后,控制台输出如下:

16_Scala匿名函数.png

以上实例中,我们定义了匿名函数 multiplier 并进行了调用。

Scala匿名函数总结

Scala 中定义匿名函数的语法很简单,箭头左边是参数列表,右边是函数体。使用匿名函数后,我们的代码变得更简洁了。