本地委派属性

你可以定义一个本地变量作为委派属性。例如,你可以将一个本地懒加载变量。

fun example(computeFoo: () -> Foo) {
    val memoizedFoo by lazy(computeFoo)
    if (someCondition && memoizedFoo.isValid()) {
        memoizedFoo.doSomething()
    }
}

memoizedFoo变量将在第一次访问的时候进行计算。如果someConditionfalse的,那么memoizedFoo将不会进行计算。

results matching ""

    No results matching ""