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