Scala Lazy 惰性加载变量 你知道吗?

Posted 辉常努腻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala Lazy 惰性加载变量 你知道吗?相关的知识,希望对你有一定的参考价值。

Scala Lazy 惰性加载

  • 原写法;
def main(args: Array[String]): Unit = 
    val result: Int = sum(13, 47)

    println("1. 函数调用")
    println("2. result = " + result)
    println("4. result = " + result)
  

  def sum(a: Int, b: Int): Int = 
    println("3. sum调用")
    a + b
  
  • 输出
 - sum调用
 - 函数调用
 - result = 60
 - result = 60
  • Lazy 用法
  def main(args: Array[String]): Unit = 
    lazy val result: Int = sum(13, 47)

    println("1. 函数调用")
    println("2. result = " + result)
    println("4. result = " + result)
  

  def sum(a: Int, b: Int): Int = 
    println("3. sum调用")
    a + b
  
  • 输出
1. 函数调用
3. sum调用
2. result = 60
4. result = 60

以上是关于Scala Lazy 惰性加载变量 你知道吗?的主要内容,如果未能解决你的问题,请参考以下文章

每天学一点Scala之lazy

scala的lazy关键字字节码分析

实现类似微信Viewpager-Fragment的惰性加载,lazy-loading

Scala编程之惰性函数

如何在 reactJS 中编写一个惰性加载器(带有示例)

为啥加载惰性集合