livedata observable Kotlin 的 lambda 表达式中的“让”是什么意思

Pet*_*ter -1 lambda android let kotlin

我想知道是否有人可以向我解释在带有 livedata 的 lambda 表达式中让这个词。只是打印lamda表达式吗?我猜有些人用它来不再获得空指针异常?

wordViewModel.allWords.observe(this, Observer { value -> 
    value?.let { /*DO SOMETHING WITH VALUE ('IT')*/ }
})
Run Code Online (Sandbox Code Playgroud)

Com*_*are 5

let()是 Kotlin 的“作用域函数”。特别是,let()与安全调用 ( ?.)一起使用时,仅let()当接收者 ( value) 不是时才执行提供给的 lambda null

由于Observer接口的定义方式,value可以是null. 因此,value -> value?.let { //DO OTHER THINKS WITH 'IT' }基本上说“忽略null,但对所有非null值执行此 lambda ”。