Scala编程语言允许用户将变量初始化为lazy val。当我们需要在创建对象时节省内存开销时,可以使用lazy变量。使用lazy关键字,可以暂停变量的初始化,直到在代码中首次使用或访问它为止。
object myObject { def main(args:Array[String]) { lazy val newBlock = { println ("仅在首次初始化时才打印。") "Hello!" } println("该块尚未初始化!") println("首次通话: ") println(newBlock) println("二次通话: ") println(newBlock) } }
输出结果
该块尚未初始化! 首次通话: 仅在首次初始化时才打印。 Hello! 二次通话: Hello!
与代码中一样,该块在调用第一个print语句之后初始化。newBlock的打印语句将仅打印一次。在第二个调用中,它将返回字符串“ Hello!”。并且不打印任何内容。