【问题标题】:Difference between var array and let array? [duplicate]var数组和let数组的区别? [复制]
【发布时间】:2019-11-17 04:49:39
【问题描述】:

我正在研究 Swift 中的数组,他们首先在我的书中写道:

let numbers = [0, 1, 2, 3]

然后写:

var numbers = [0, 1, 2, 3]

我知道let 表示常量var 表示变量,但实际上声明为常量的数组和声明为变量的数组有什么变化?

【问题讨论】:

  • @Rob 链接如何重复?它讨论了 javascript 中 var/let 的范围

标签: arrays swift xcode var let


【解决方案1】:

因为 swift 中的数组是 structs,使用 let 声明数组不仅会阻止您为其分配新值,还会阻止您更改其内容

例如:

    let arr = [0, 1, 2]
    arr[0] = 10 //will not compile
    arr = [] //will not compile

【讨论】:

  • 谢谢,所有答案都很好且有用,但我认为您的答案更完整。解决了!
【解决方案2】:

声明为常量的数组是不可变的。

它的大小和内容不能改变。

【讨论】:

    【解决方案3】:

    当使用let 声明数组时,您不能更改/添加/删除数组元素。 如果您想对数组进行任何更改,您需要使用var 声明。

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 2019-06-25
      • 2018-12-09
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 2020-07-08
      • 2017-01-16
      相关资源
      最近更新 更多