Kotlin中如何延遲初始化

小億
125
2024-04-15 14:54:04
欄目: 編程語言

在Kotlin中,可以使用lateinit關(guān)鍵字來延遲初始化變量。lateinit關(guān)鍵字可以用于var屬性,但不能用于val屬性或基本數(shù)據(jù)類型。延遲初始化變量必須是非空的,并且不能在定義時(shí)賦初值。

例如:

lateinit var name: String

fun initializeName() {
    name = "John"
}

另外,也可以使用lazy函數(shù)來延遲初始化變量。lazy函數(shù)接收一個(gè)lambda表達(dá)式作為參數(shù),當(dāng)首次訪問該變量時(shí),才會(huì)執(zhí)行l(wèi)ambda表達(dá)式并保存結(jié)果。

例如:

val name: String by lazy {
    "John"
}

0