用于匿名函数中
//用于匿名函数中,左边参数,右边函数体
scala> var list=List(1,2,3).map(x=>x*2)
list: List[Int] = List(2, 4, 6)
用于传名参数
就是不是计算好了把值传过去,而是等到函数体真正用到的时候再执行!
object Test_021 {
def main(args: Array[String]): Unit = {
//delayed参数为传名参数,因此会先进入delayed里执行一句代码,再执行传进去的函数
delayed(time())
}
def time(): Long = {
println("getting time")
System.nanoTime()
}
//传名参数的类型是这样规定的
def delayed(t: => Long): Unit = {
println("delayed time")
println("delayed time2")
println("para" + t)
}
}
执行结果为
delayed time
delayed time2
getting time
para2366251760228000