在Kotlin中使用'let'时,我的变量名和'it'有什么区别?

问题描述

在以下代码段中,两个代码块之间有什么区别?
如果我使用println(name==it)进行检查,则返回true,因此它们必须引用相同的对象,对吧?

但是,当name变量具有值时,一切正常,但是一旦我将其设置为null,代码块1就会起作用(这意味着,let块将不会被执行),但是代码块2会引发错误。当name为null时,为什么kotlin不仅跳过/忽略了代码块2?

fun main() {
    
    var name:String? = "Cedric"
    //name = null
    
    //Codeblock 1
    name?.let{
        println("The length of name is ${name.length}")
    }
    
    //Codeblock 1
    name?.let{
        println("The length of name is ${it.length}")
    }
    
}

非常感谢,感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)