作者:PHP界的一股清流 | 来源:互联网 | 2023-09-09 15:44
UsingSwift1.2isthereadifferencebetween[String]and[(String)]whendeclaringanarray,orar
Using Swift 1.2 is there a difference between [String]
and [(String)]
when declaring an array, or are they just the same?
使用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 个解决方案
2
There is no difference. The (String)
form actually means a tuple with one value of String
type, but it's equivalent to just saying a String
.
没有区别。(字符串)形式实际上是指有一个字符串类型值的元组,但它等价于只说一个字符串。
For instance, consider the following array:
例如,考虑以下数组:
var array = [String]()
you can append a string element as usual:
您可以像往常一样添加一个字符串元素:
array.append("raw string")
but you can also add a tuple containing one string value:
但也可以添加一个包含一个字符串值的元组:
let tuple = (namedValue: "from tuple")
array.append(tuple)
Note that the equivalence doesn't stop here. If you have a function/method accepting n parameters:
注意,等价性并不仅限于此。如果你有一个接受n个参数的函数/方法:
func aFunc(#param1: Int, #param2: String, #param3: Double) {}
when invoking it you can provide the list of parameters:
当调用它时,您可以提供参数列表:
aFunc(param1: 1, param2: "text", param3: 3.14)
but you can also group the parameters into a tuple, and just it to the function
但是你也可以将参数分组到一个元组中,并将其分组到函数中
let params = (param1: 1, param2: "text", param3: 3.14)
aFunc(params)