我们为什么要在创建一个空数组时添加()

时间:2017-01-02 21:46:24

标签: arrays swift

我们可以像这样创建一个空数组:

var newArray1 = [Int]()

我的意思是:当我们创建一个新数组时,“()”在这里意味着什么,为什么我们不写这个来创建一个新的空数组:

var newArray2 = [Int]

我知道它的语法,但有人可以解释一下,以帮助我深入理解它。

2 个答案:

答案 0 :(得分:5)

要创建新数组,请使用Array<Int>.init()。调用初始值设定项的简写就是删除.initArray<Int>()

[Int]Array<Int>的简写。

将两者放在一起,我们可以将Array<Int>.init()写为[Int]()

答案 1 :(得分:2)

区别在于[Int]声明了一个类型(整数数组),而[Int]()是对相同类型的初始化程序的调用。这是两个根本不同的操作。在例如Scala可以用相同的方式编写(因为scala允许你省略没有参数的方法的括号),但是在Swift中这是不允许的。