Swift4 基础 之 元祖(tuples)

/*
 元组(tuples)把多个值组合成一个复合值。
 元组内的值可以是任意类型,并不要求是相同类型。
*/

let http404Error = (404, "Not Found")

/*
 http404Error 的类型是 (Int,String)
 */

/*
 将一个元组的内容分解(decompose)成单独的常量和变量
 */

let (statusCode, statusMessage) = http404Error

/*
 statusCode 的类型是 Int
 statusMessage 的类型是 String
 */

/*
 可以直接使用
 */
print("The status code is \(statusCode)")
print("The status message is \(statusMessage)")

/*
 如果只需要一部分元祖值,分解的时候可以把要忽略的部分用下划线(_)标记
 */

let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")


/*
 可以通过下标来访问元组中的单个元素,下标从零开始
 */
print("The status code is \(http404Error.0)")
print("The status message is \(http404Error.1)")


/*
 在定义元组的时候给单个元素命名
 */
let http200Status = (statusCode: 200, description: "OK")

/*
 命名后,可以通过名字来获取这些元素的值
 */
print("The status code is \(http200Status.statusCode)")
print("The status message is \(http200Status.description)")

/*
 PS:
 元组在临时组织值的时候很有用,但是并不适合创建复杂的数据结构。
 如果你的数据结构并不是临时使用,请使用类或者结构体而不是元组。
 */