Swift:声明空元组

use*_*466 12 tuples ios swift

声明空元组的正确方法是什么?

  • 对于数组: var myArr : [String] = []
  • 对于元组:var myTuple: (key: String, val: Int) = ()

有没有正确的方法来实现这一目标?

Jac*_*nce 20

没有空/未填充的元组值.重要的是要记住,元组不是像Array或者那样的集合Dictionary.元组是结构化类型.例如,您不能使用for循环遍历元组.在您的示例中,myTuple是一个恰好包含a String和a的值Int.

元组就像是一个按需命名的未命名结构,例如下面的结构,但如果它可能是未命名的:

struct MyStruct {
    let key: String
    let val: Int
}
Run Code Online (Sandbox Code Playgroud)

如果要为缺少的元组值建模,则应该使整个元组的类型可选.例如:

var myTuple: (key: String, val: Int)? = nil
Run Code Online (Sandbox Code Playgroud)

  • 请注意,有一个*空元组* - 它是返回类型的函数,它们什么都不返回,即`Void`.请参阅https://developer.apple.com/reference/swift/void (6认同)