换名调用函数

来源:互联网 发布:手机淘宝店铺全屏装修 编辑:程序博客网 时间:2024/04/30 18:07
  • 这是一个语法糖
  • 用于解决如下问题
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”))

0 0