二元组置换(特殊)
val t=new t1[String,Int]("chen",26)//val t=("chen",26)
println(t._1,t._2)
val swap: (Int, String) = t.swap//置换,二元组特殊方法,其他没有
println(swap._1,swap._2)
println(swap._1)
部分函数
def alarmMsg(title:String,content:String,height:Double):Unit={
println(title+"t"+content+":"+height)
}
alarmMsg("警报","空气甲醛浓度",21.42d)--->警报 空气甲醛浓度为:21.42
val title="警报"
def alarmMsg2=alarmMsg(title,content:String,height:Double)
alarmMsg2("空气甲醛浓度为:",21.43d)---> 警报 空气甲醛浓度为:21.32
def alarmMsg3=alarmMsg(content,height:Double)
alarmMsg3(12.45d) ---> 警报 空气甲醛浓度为:21.32
偏函数
def funPartition2:PartialFunction[Int,String]={
case 1=>"优秀"
case 2=>"良好"
case 3=>"合格"
case _=>"不及格"
}
println(funPartition2(3))---->合格
println(funPartition2(4))---->不及格
val arr:Array[Int]=Array(1,3,4,3,2)
val strings:Array[String] = arr.collect(funPartition2)
遍历
println(strings.toList)
或
for(in<-strings){
println(in)
}
函数作为返回值
def funTest():(String,String)=>String={
def funDemo(str:String,str1:String):String={
str+"@@"+str1
}
funDemo
}
println(funTest()("hello","world"))
函数作为参数
def funTest1(f:(Int,Int)=>Int)):Int={
val a=100
val b=50
f(a,b)
}
val sum=(a:Int,b:Int)=>a+b
val ji=(a:Int,b:Int)=>a*b
println(sum(2,3))---->5
println(funTest(sum)))---->150
println(funTest(ji)))---->5000
递归函数
def ji(num:Int):Int{
if(num==1) 1
else num*ji(num-1)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)