Swift 创建空数组的各种方法之间有什么区别?

Swift 创建空数组的各种方法之间有什么区别?,swift,Swift,我浏览了一些论坛的文档,发现我可以用各种方式创建一个数组。我不知道我们应该用哪一个 var testArray = [Int]() testArray.append(1) var anotherTestArray: [Int] = [] anotherTestArray.append(1) var yetAnotherTestArray: Array<Int> = [] yetAnotherTestArray.append(1) var yetYetYetAnotherTest

我浏览了一些论坛的文档,发现我可以用各种方式创建一个数组。我不知道我们应该用哪一个

var testArray = [Int]()
testArray.append(1)

var anotherTestArray: [Int] = []
anotherTestArray.append(1)

var yetAnotherTestArray: Array<Int> = []
yetAnotherTestArray.append(1)

var yetYetYetAnotherTestArray = Array<Int>()
yetYetYetAnotherTestArray.append(1)

我认为创建数组最干净的方法是
var testArray:[Int]=[]

在swift数组中,对象必须是相同的类型。如果要存储不同类型的不同对象,请使用
[AnyObject]
。然而,你应该知道它会带来什么。由于返回的类型值将是
AnyObject
,因此必须将该值向下转换为所需的类型

我真的不建议使用
AnyObject
作为数组的类型,除非您真的知道自己在做什么

下面是一个例子:

let a: [AnyObject] = [1, "a"]
let b = a[0] // An Int
let c = a[1] // A String

您好,在操场上,我可以在没有任何对象的情况下执行此操作。
var testArray2=[“int”,1]
也可以告诉我
Array
[int]
感谢您当您未指定时,swift会推断类型。在这种情况下,
var testArray2=[“int”,1]
将推断它是
AnyObject
。类型
Array
相当于
[Int]
@OscarVGG实际上,类型将被推断为
[NSObject]
。我更喜欢
var testArray=[Int]()
而不是
var testArray:[Int]=[]
,因为它比较短。
let a: [AnyObject] = [1, "a"]
let b = a[0] // An Int
let c = a[1] // A String