Разница между массивом var и массивом let?

Я изучаю массивы в Swift, и в моей книге сначала пишут:

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

но потом напишите:

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

Я знаю, что let обозначает константы, а varпеременные, но что практически изменится от массива, объявленного как константа, и массива, объявленного как переменная?


person Bug-Gy    schedule 07.07.2019    source источник
comment
@Rob как ссылка дублируется? это говорит о области действия var/let в javascript   -  person giorashc    schedule 05.09.2019


Ответы (3)


поскольку массивы в Swift structs объявляют массив с помощью let не только не позволяют вам присвоить ему новое значение, но и не позволяют вам изменять его содержимое

так например:

    let arr = [0, 1, 2]
    arr[0] = 10 //will not compile
    arr = [] //will not compile
person giorashc    schedule 07.07.2019
comment
Спасибо, все ответы хороши и полезны, но, на мой взгляд, ваш более полный. Решено! - person Bug-Gy; 07.07.2019

Массив, объявленный как константа, неизменяем.

Его размер и содержимое не могут быть изменены.

person bart    schedule 07.07.2019

вы не можете изменять/добавлять/удалять элементы массива, когда он объявлен с помощью let. если вы хотите внести какие-либо изменения в массив, вам нужно объявить его с помощью var.

person Li Jin    schedule 07.07.2019