在swift里面有这么个好玩的东西 - 元组(tuples). json
它能够包含不一样的数据类型组成一个复合值,同时也能够像json对象或者dictionary同样,指定键值。同时也能够像属性同样获取键值。swift
见识一下:数组
let http404Error = (404, "Not Found") let http200Status = (statusCode:200,description:"OK")
2种初始方式,能够直接将值组合,也能够按键值对组合。数据结构
若是是值组成的复合值获取时,能够:函数
let http404Error = (404, "Not Found") let (statusCode,statusMessage) = http404Error println("Code: \(statusCode) \t Message: \(statusMessage)")
也能够:code
let http404Error = (404, "Not Found") println("Code: \(http404Error.0) \t Message: \(http404Error.1)")
若是是按键值对组成的复合值,就能够按属性的形式访问来获取相关值:对象
let http200Status = (statusCode:200,description:"OK") println("Code: \(http200Status.statusCode) \t Message: \(http200Status.description)")
总结:blog
1)元组在某些时候很是有用,但它毕竟是个临时复合值。按官方:ip
做为函数返回值时,元组很是有用。一个用来获取网页的函数可能会返回一个(Int, String)
元组来描述是否获取成功。和只能返回一个类型的值比较起来,一个包含两个不一样类型值的元组能够让函数的返回信息更有用。io
元组在临时组织值的时候颇有用,可是并不适合建立复杂的数据结构。若是你的数据结构并非临时使用,请使用类或者结构体而不是元组。
2)元组在初始化时,使用的是(),而非其它的<>(Dictionary的类型声明须要使用<>)或者[](数组Array或者Dictionary构造时须要使用[])
3)元组是能够直接保存多种数据类型的数据,并组成一个复合值的。这个是最显著的一个特征,也是很是有帮助的。