网站开发的业务需求分析/外贸平台自建站
Scala命名参数和匿名函数及示例演示
- Scala命名参数
- 示例
- 通过指定参数名字,传递参数值
- 参数的长度未知,通过*来表示,可以传入多个参数
- 匿名函数
- 示例
- 匿名函数定义及使用
Scala命名参数
通常情况下,传入参数与函数定义的参数列表一一对应
命名参数允许使用任意顺序传入参数
def printName(first:String, last:String) = {println(first + " " + last)
}//Prints "John Smith"
printName("John","Smith")
printName(first = "John",last = "Smith")
printName(last = "Smith",first = "John")
示例
通过指定参数名字,传递参数值
object test {def main(args: Array[String]): Unit = {def canshu1(name:String,age:Int):Unit={println(s"你的名字是$name,你的年龄是$age")}canshu1("老王",18)canshu1(age=20,name="老张")}
}
结果展示:
参数的长度未知,通过*来表示,可以传入多个参数
object test {def main(args: Array[String]): Unit = {def canshu2(name:String,a:String*):Unit={println(name)for(i<-a)print(i)}canshu2("老王","你是","帅哥","嘛?")}
}
结果展示:
匿名函数
指不含函数名称的函数
匿名函数定义
- "=>"左边为参数列表
- "=>"右边为函数体
(参数列表)=>{函数体}
- 如果函数体包括多条语句,应使用"{}"包括
(x:Int)=>x*x
(x:Int)=>{println(x);x*x}
() => { System.getProperty("user.dir") }
val f1=(x:Int)=>{println(x);x*x}
f1(2)
示例
匿名函数定义及使用
object test {def main(args: Array[String]): Unit = {//匿名函数:(a:Int,b:Int)=>a+bdef sum1(a:Int,b:Int):Int=a+b//定义一个变量或常量去调用匿名函数val aa=(a:Int,b:Int)=>a+bval bb=aaprintln(sum1(10,10))println(aa(10,20))println(bb(10,30))val a : Int = 10val sum2:(Int,Int)=>Int=(a:Int,b:Int)=>a+bval sum3:(Int,Int)=>Int=aaval sum4:(Int,Int)=>Int=sum1println(sum2(10,40))println(sum3(10,50))println(sum4(10,60))}
}
结果展示: