Swift 1.2数组声明,额外括号?

时间:2015-02-24 10:41:05

标签: ios xcode swift

使用Swift 1.2在声明数组时,[String][(String)]之间是否存在差异,或者它们是否相同?

var testArray_001: [String] = []      // Declaration = [String]
var testArray_002: [String] = Array() // Declaration = [String]
var testArray_003 = [String]()        // Declaration = [(String)]

1 个答案:

答案 0 :(得分:2)

没有区别。 (String)表单实际上是指一个值为String类型的元组,但它只相当于 a String

例如,请考虑以下数组:

var array = [String]()

你可以像往常一样附加一个字符串元素:

array.append("raw string")

但你也可以添加一个包含一个字符串值的元组:

let tuple = (namedValue: "from tuple")
array.append(tuple)

请注意,等值并不止于此。如果你有一个接受n个参数的函数/方法:

func aFunc(#param1: Int, #param2: String, #param3: Double) {}

调用它时,您可以提供参数列表:

aFunc(param1: 1, param2: "text", param3: 3.14)

但您也可以将参数分组为元组,并将其分组到函数

let params = (param1: 1, param2: "text", param3: 3.14)
aFunc(params)