Kotlin中如何延迟初始化

lewis 2016-09-13 24次阅读

在Kotlin中,可以使用lateinit关键字来延迟初始化变量。lateinit关键字可以用于var属性,但不能用于val属性或基本数据类型。延迟初始化变量必须是非空的,并且不能在定义时赋初值。

例如:

lateinit var name: String

fun initializeName() {
    name = "John"
}

另外,也可以使用lazy函数来延迟初始化变量。lazy函数接收一个lambda表达式作为参数,当首次访问该变量时,才会执行lambda表达式并保存结果。

例如:

val name: String by lazy {
    "John"
}


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。