package com.scala.function
object test05_Lambda {
def main(args: Array[String]): Unit = {
val fun=(name:String)=>{
println(name)
}
fun("Alisa")
//定义一个函数,以函数作为参数输入
//值以及定义好了(Alisa2),你要用这个值进行什么操作(println)
def f1(func: String=>Unit):Unit={
func("Alisa2")
}
f1(fun)
f1((name:String)=>{println(name)})
//匿名函数的至简原则
//(1)参数的类型可以省略,会根据形参进行自动的推导
f1((name)=>{println(name)})
//(2)类型省略之后,发现只有一个参数,则圆括号可以省略;其他情况:没有参数和参数超过1的永远不能省略圆括号。
f1(name=>{
println(name)
})
// 匿名函数如果只有一行,则大括号也可以省略
f1( name=>println(name) )
//(3)如果参数只出现一次,则参数省略且后面参数可以用_代替
f1( println(_) )
//(5)如果可以推断出,当前传入的println是一个函数体,而不是调用语句,可以直接省略下划线
f1(println)
}
}
Scala-scala函数式编程-匿名函数概率以及至简原则
最新推荐文章于 2023-03-09 22:12:12 发布