在Swift中可以在for循环中定义常量吗?

dzjeubhm  于 2023-05-27  发布在  Swift
关注(0)|答案(1)|浏览(138)

刚开始学习Swift,在一本书中偶然发现了以下代码:

for i in 0..<n {
    let x = start + delta * Double(i)
    result += [fn(x)]
}
return result

让我困惑的是,x似乎被定义为一个常量,但在for循环中,这应该是不可能的,因为它改变了它的值。
我期待的是:

for i in 0..<n {
    var x = start + delta * Double(i)
    result += [fn(x)]
}
return result
9jyewag0

9jyewag01#

因为它改变了它的价值。
它不改变值,局部常量在每次迭代中(重新)创建,并在右大括号行中丢弃。
它改变了值,因此它必须是一个var iable,语法是在**循环之前声明的

var x : Double
for i in 0..<n {
    x = start + delta * Double(i)
    result += [fn(x)]
}
return result

相关问题