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