'let' 在 livedata 可观察 Kotlin 的 lambda 表达式中意味着什么
What does 'let' mean in lambda expression for livedata observable Kotlin
我想知道是否有人可以用实时数据向我解释 let 这个词在 lambda 表达式中的含义。只是打印lamda表达式吗?我猜有些人不再使用它来获得空指针异常?
wordViewModel.allWords.observe(this, Observer { value ->
value?.let { /*DO SOMETHING WITH VALUE ('IT')*/ }
})
let()
是 Kotlin "scope function"。特别是,如果接收者 (value
) 不是 null
,则将 let()
与安全调用 (?.
) 一起使用只会执行提供给 let()
的 lambda。 =22=]
由于 Observer
接口的定义方式,value
可以是 null
。所以,value -> value?.let { //DO OTHER THINKS WITH 'IT' }
基本上就是 "ignore null
, but execute this lambda for all non-null
values".
我想知道是否有人可以用实时数据向我解释 let 这个词在 lambda 表达式中的含义。只是打印lamda表达式吗?我猜有些人不再使用它来获得空指针异常?
wordViewModel.allWords.observe(this, Observer { value ->
value?.let { /*DO SOMETHING WITH VALUE ('IT')*/ }
})
let()
是 Kotlin "scope function"。特别是,如果接收者 (value
) 不是 null
,则将 let()
与安全调用 (?.
) 一起使用只会执行提供给 let()
的 lambda。 =22=]
由于 Observer
接口的定义方式,value
可以是 null
。所以,value -> value?.let { //DO OTHER THINKS WITH 'IT' }
基本上就是 "ignore null
, but execute this lambda for all non-null
values".