在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)元組是能夠直接保存多種數據類型的數據,並組成一個複合值的。這個是最顯著的一個特徵,也是很是有幫助的。