gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:40:03 25 4
gpt4 key购买 nike

在下面的代码 fragment 中,两个代码块有什么区别?
如果我检查 println(name==it) ,返回 true,所以它们必须引用同一个对象,对吧?
但是,当 name 变量有值时,一切正常,但是一旦我将其设置为 null,代码块 1 就可以工作(这意味着 let block 根本不会被执行),但代码块 2 会抛出错误。为什么 kotlin 不只是跳过/忽略代码块 2,当 name一片空白?

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}")
}

}
非常感谢,任何帮助表示赞赏。

最佳答案

代码块 2 实际上给出了编译时错误,而代码块 1 没有。我认为这只是一个奇怪的 linting bug,因为这两种情况应该被同等对待。

关于android - 在 kotlin 中使用 'it' 时,我的变量名和 'let' 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63603286/

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