Scala中的匿名函数

Scala中的匿名函数

没有名称的函数是匿名函数,也称为函数文字。当用户想要创建内联函数时,使用这种类型的函数。

语法:

    1)    (x: Int , y:Int) => x + y
    2)    (_:Int) + (_:Int)

语法说明:

有两种语法可在Scala中定义匿名函数。第一个使用匿名函数的转换器(=>)。第二个代码直接使用通配符(_),并直接使用定义。

一个匿名函数可以有参数,可能没有在其定义的参数。

带参数的匿名函数

它在其定义中定义了函数参数。有直接的函数定义,可以使用定义它的变量名来调用它。

示例

object Main  
{ 
    def main(args: Array[String])  
    { 
        var mySum1 = (number1 : Int , number2 : Int ) => number1 + number2
        var mySum2 = (_:Int) + (_:Int) 
        println("匿名函数示例代码:")
        println("5和12之和是 " + mySum1( 5, 12)) 
        println("15和21的总和是 " + mySum2( 15, 21)) 
    } 
}

输出结果

匿名函数示例代码:
5和12之和是 17
15和21的总和是 36

没有参数的匿名函数

它定义了一个函数,该函数的定义中没有任何参数。变量用于定义匿名函数。但是,这一呼吁没有参数。

示例

object Main  
{ 
    def main(args: Array[String])  
    { 
        var myfun1 = () => {"Hello! This is Nhooo.com..."} 
        println(myfun1()) 
        def myfunction(fun:(String, String)=> String) = 
        { 
            fun("Hello", "User") 
        } 
        val f1 = myfunction((str1: String, 
                    str2: String) => str1 + str2) 
        val f2 = myfunction(_ + _) 
        println(f1) 
        println(f2) 
    } 
}

输出结果

Hello! This is Nhooo.com...
HelloUser
HelloUser