Scala入门-惰性函数


在 Scala 中,使用 lazy 关键字来实现延迟执行。

如果使用了 lazy 定义某一个变量,则这个变量只有在被使用时才会执行初始化。

常规调用

不使用惰性加载,代码如下:

object LazyFun {
  def main(args: Array[String]): Unit = {
    def sum(n1: Int, n2: Int) = {
      println("sum 函数开始执行了")
      n1 + n2
    }

    val res = sum(10,20)
    println("----------------------")
    println(res)
  }
}

输出结果为:

sum 函数开始执行了
----------------------
30

惰性加载

使用惰性加载,代码如下:

object LazyFun {
  def main(args: Array[String]): Unit = {
    def sum(n1: Int, n2: Int) = {
      println("sum 函数开始执行了")
      n1 + n2
    }

    lazy val res = sum(10,20)
    println("----------------------")
    println(res)
  }
}

输出结果为:

----------------------
sum 函数开始执行了
30

文章作者: Tianny
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Tianny !
评论
 上一篇
Scala入门-异常 Scala入门-异常
try-catch-finallyobject ScalaException { def main(args: Array[String]): Unit = { try { val r = 10 / 0 }
2020-03-18
下一篇 
Scala入门-函数定义 Scala入门-函数定义
Scala 因为语法灵活性的原因,定义函数或者方法有多种方式。 方式 1规范化写法,指明函数的返回值类型。 如果写了 return 关键字 ,那么就必须声明返回值类型。 object FunDef { def main(args: Ar
2020-03-18
  目录