如何实现将一段代码(从形式上看),作为参数传递给高阶函数,在高阶函数内部执行这段代码。控制抽象是这样的函数:参数是函数,函数参数没有输入值也没有返回值。
def myRunInThread(f1: () => Unit) = {
new Thread {
override def run(): Unit = {
f1() //只写了 f1
}
}.start()
}
myRunInThread {
() =>
println("干活咯!5秒完成...")
Thread.sleep(5000)
println("干完咯!")
}
//简写形式
def myRunInThread2(f1: => Unit) = {
new Thread {
override def run(): Unit = {
f1 //只写了 f1
}
}.start()
}
//对于没有输入,也没有返回值函数,可以简写成如下形式
myRunInThread2 {
println("干活咯!5秒完成...~~~")
Thread.sleep(5000)
println("干完咯!~~~")
}
————Blueicex 2020/2/17 10:55 blueice1980@126.com