gpt4 book ai didi

Kotlin 理解 for 循环中缺少 var 关键字

转载 作者:行者123 更新时间:2023-12-04 16:36:14 25 4
gpt4 key购买 nike

我是 Kotlin 的初学者,正在经历 for 循环

简单代码示例:

 for (i in 1..5) print(i)

请有人告诉我为什么我们不使用关键字 var/val 指定计数器/迭代器变量类型“i”。因为“var/val”是在 Kotlin 中声明变量的标准方式。

最佳答案

这就是 for 循环语法的简单设计方式。我不能代表设计师,但我相信这是为了避免不必要的臃肿和困惑而做出的设计决定。

您不能将现有变量用作循环变量。循环变量的作用域为循环,并从外部作用域中隐藏现有变量。所以这有点暗示你在这里声明一个新变量,即使没有关键字(但是我不得不承认如果我们必须编写 val/ 阴影行为会更清楚var 关键字)。

此外,循环变量实际上是循环体内的一个 val(它不能被重新分配),但它感觉起来像一个 var,因为它会随着每个循环而变化turn 并且在技术上是在循环体之外声明的。实际上,它就像在循环体中声明的新 val,每次循环迭代都有一个新值。

因此您的示例代码可以被认为是:

var temp = 1
while (temp <= 5) {
val i = temp
println(i)
temp++
}

这可能就是设计师决定不在此处放置任何关键字的原因:这是不必要的,而且 valvar 都会以它们自己的方式造成混淆。

关于Kotlin 理解 for 循环中缺少 var 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69519765/

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