Scala | lazy val

Scala | lazy val

Scala编程语言允许用户将变量初始化为lazy val。当我们需要在创建对象时节省内存开销时,可以使用lazy变量。使用lazy关键字,可以暂停变量的初始化,直到在代码中首次使用或访问它为止。

程序来说明lazy val

object myObject 
{ 
	def main(args:Array[String]) 
	{ 
		lazy val newBlock = { 
			println ("仅在首次初始化时才打印。") 
			"Hello!"
		} 

		println("该块尚未初始化!")
		
		println("首次通话: ")		println(newBlock)
		
		println("二次通话: ")		println(newBlock) 
	} 
}

输出结果

该块尚未初始化!
首次通话: 
仅在首次初始化时才打印。
Hello!
二次通话: 
Hello!

与代码中一样,该块在调用第一个print语句之后初始化。newBlock的打印语句将仅打印一次。在第二个调用中,它将返回字符串“ Hello!”。并且不打印任何内容。