'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".