- 这是一个语法糖
- 用于解决如下问题
def runInThread1(block: () => Unit): Unit = {
new Thread(new Runnable {
override def run() {
block()
}
}).start()
}
runInThread1 {
() => println("helloworld")
}
注意其中的runInThread1 调用, 使用()=> Unit的格式.
如果我们想用runInThread(println(“Helloworld”))这种直观的方式, 如何实现.
def runInThread2(block: => Unit): Unit = {
new Thread(new Runnable {
override def run() {
block
}
}).start()
}
runInThread2 {
println("helloworld")
}
注意点 :
1. 函数参数声明: block:=> Unit 少了()
2. 函数内部使用的时候, 使用block 替代block()
3. 此时调用函数时, 就可以使用runInThread(println(“Helloworld”))