我们可以像这样创建一个空数组:
var newArray1 = [Int]()
我的意思是:当我们创建一个新数组时,“()”在这里意味着什么,为什么我们不写这个来创建一个新的空数组:
var newArray2 = [Int]
我知道它的语法,但有人可以解释一下,以帮助我深入理解它。
答案 0 :(得分:5)
要创建新数组,请使用Array<Int>.init()
。调用初始值设定项的简写就是删除.init
:Array<Int>()
。
[Int]
是Array<Int>
的简写。
将两者放在一起,我们可以将Array<Int>.init()
写为[Int]()
。
答案 1 :(得分:2)
区别在于[Int]
声明了一个类型(整数数组),而[Int]()
是对相同类型的初始化程序的调用。这是两个根本不同的操作。在例如Scala可以用相同的方式编写(因为scala允许你省略没有参数的方法的括号),但是在Swift中这是不允许的。