kotlin by lazy
时间: 2023-12-22 13:59:31 浏览: 94
kotlin
Kotlin中的`by lazy`是一种延迟初始化属性的方式。通过使用`by lazy`关键字,我们可以将属性的初始化推迟到第一次访问该属性时。
例如,考虑以下代码片段:
```kotlin
val name: String by lazy {
println("Initializing name")
"John"
}
fun main() {
println("Before accessing name")
println(name)
println("After accessing name")
}
```
在上面的例子中,`name`属性被声明为`by lazy`,并且在属性被访问之前不会进行初始化。当我们运行`main()`函数时,首先会打印"Before accessing name",然后才会初始化并打印"Initializing name",最后打印属性的值"John"和"After accessing name"。
通过使用`by lazy`,我们可以避免不必要的初始化,并在需要时延迟初始化属性。这在处理复杂或昂贵的初始化逻辑时非常有用。
阅读全文