gpt4 book ai didi

kotlin - 如何习惯性地在Kotlin中调用可为空的Lambda?

转载 作者:行者123 更新时间:2023-12-04 11:18:40 24 4
gpt4 key购买 nike

鉴于以下lambda:

val lambda: () -> Unit = null

对于Kotlin来说,调用以下可为空的lambda会导致以下哪些调用?
lambda?.let { it() }


lambda?.invoke()

最佳答案

让我们问一下Kotlin编译器:

 val lambda: (() -> Unit)? = null    
lambda()

编译器说:
Reference has a nullable type '(() -> Unit)?', use explicit '?.invoke()' to make a function-like call instead

是的,似乎 ?.invoke()是可行的方法。

尽管这对我(以及编译器)来说似乎也不错:
 if (lambda != null) {
lambda()
}

关于kotlin - 如何习惯性地在Kotlin中调用可为空的Lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com