**Scala 的 lazy 变量的惰性求值步骤如下:**
1. 声明一个 lazy 变量。
2. 在首次访问该变量时,触发计算。
3. 计算结果被存储起来。
4. 后续对该变量的访问直接使用存储的结果,不再重新计算。
例如:
```scala
object LazyDemo {
// 声明一个 lazy 变量
**lazy val** lazyValue: Int = {
println("计算 lazyValue...")
42 // 假设这是一个复杂的计算
}
def main(args: Array[String]): Unit = {
println("程序开始...")
// 在这里 lazyValue 还没有被计算
println("即将访问 lazyValue...")
// 首次访问 lazyValue,触发计算
println(lazyValue)
// 再次访问 lazyValue,不会重新计算
println(lazyValue)
}
}
```