宣布空元组的正确方法是什么?
var myArr : [String] = []
var myTuple: (key: String, val: Int) = ()
?有没有正确的方法来实现这一目标?
答案 0 :(得分:20)
没有"未填充"元组值。换句话说,您不会创建一个空元组,然后再向其中添加值。重要的是要记住元组不是Array
或Dictionary
之类的集合。元组是结构化类型。例如,您不能使用for循环遍历元组。在您的示例中,myTuple
是一个恰好包含String
和Int
的值。
元组就像是一个按需命名的未命名结构,例如下面的结构,但如果它可能是未命名的:
struct MyStruct {
let key: String
let val: Int
}
如果要为缺少的元组值建模,则应该使整个元组的类型可选。例如:
var myTuple: (key: String, val: Int)? = nil