scala传名函数

先做实验,代码如下:

object TestFun {
  def main (args:Array[String]){
    delayed(time())
  }
  def time() = {
      println("获取时间,单位为纳秒")
      System.nanoTime
   }
   def delayed( t: => Long ) = {
      println("在 delayed 方法内")
      println("参数: " + t)
      t
   }
 }

实验结果如下:

在 delayed 方法内
获取时间,单位为纳秒
参数: 22296025792244
获取时间,单位为纳秒

上例中delay方法的参数变量t上使用了=>符号,以表示是传名调用(传名调用表示在调用前不计算表达式的值,直接带入函数体内,当要用的时候才开始处理),所以在delayed方法中,先打印提示信息,然后第二个println函数开始用到参数t,这样就开始处理time函数了。

转载于:https://my.oschina.net/u/2963604/blog/1803354

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值