var 数组和 let 数组的区别?

Bug*_*-Gy -2 arrays xcode var let swift

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

let numbers = [0, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

但是然后写:

var numbers = [0, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我知道这let表示常量并var指代变量,但实际上声明为常量的数组和声明为变量的数组有何不同?

gio*_*shc 5

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

所以例如:

    let arr = [0, 1, 2]
    arr[0] = 10 //will not compile
    arr = [] //will not compile
Run Code Online (Sandbox Code Playgroud)