Я попытался искать вокруг для того, что эторазница между [] и []() в быстрой
[]()
Но я не совсем уверен. В детской площадке, я сделал это:
var test = [Int]();
test.append(1);
test.append(2);
Если я уйду выключить() и сделать
var test = [Int];
test.append(1);
test.append(2);
Он по-прежнему выглядит как массив Ints для меня. Может кто-то объяснить разницу? Заранее спасибо.
И прекратите использовать точки с запятой. :) – matt
Я бы также добавил, что '[]' является литералом массива для пустого массива i.e. 'var test: [Int] = []' инициализирует 'test' как пустой массив. 'var test: [Int] = [1]' инициализирует 'test' как массив с одной записью,' var test: [Int] = [1,2] 'массив с двумя записями и т. д. Когда вы инициализируетесь с помощью некоторые записи, Swift может «вывести» тип, поэтому вы можете написать 'var test = [1,2]' без типа, потому что он может видеть, что массив содержит 'Int' (тип по умолчанию для целых литералов). Но когда вы объявляете пустой массив, вы должны указать тип, поскольку у Swift больше ничего не остается. –
В некоторых контекстах (например, последний аргумент для вызова функции) тип может использоваться как значение без дальнейшего синтаксиса – newacct