Swift再學(xué)習(xí)之-swift3.0 元組 tuples

元組(tuples)把多個值組合成一個復(fù)合值挑社。元組內(nèi)的值可以是任意類型,并不要求是相同類型巡揍。以我自己的理解痛阻,swift中新增的數(shù)據(jù)集合元組,綜合了OC中的數(shù)組(NSAarray),模型(model)腮敌,字典(NSDictionary)等功能阱当,也可以說是加強版的數(shù)組(NSArray)俏扩。下面就來了解一下元祖的功能。

的定義如下:

let http404error = (404,"Not Found")

(404, "Not Found")元組把一個Int值和一個String值組合起來表示 HTTP 狀態(tài)碼的兩個部分:一個數(shù)字和一個人類可讀的描述弊添。這個元組可以被描述為“一個類型為(Int, String)的元組”录淡。

你可以把任意順序的類型組合成一個元組,這個元組可以包含所有類型油坝。只要你想嫉戚,你可以創(chuàng)建一個類型為(Int, Int, Int)或者(String, Bool)或者其他任何你想要的組合的元組。
你可以將一個元組的內(nèi)容分解(decompose)成單獨的常量和變量澈圈,然后你就可以正常使用它們了:

let(statusCode, statusMessage) = http404Error

print("The status code is\(statusCode)")

// 輸出 "The status code is 404"

print("The status message is\(statusMessage)")

// 輸出 "The status message is Not Found"

如果你只需要一部分元組值彬檀,分解的時候可以把要忽略的部分用下劃線(_)標(biāo)記:

let(justTheStatusCode,_) = http404Error

print("The status code is\(justTheStatusCode)")// 輸出 "The status code is 404"

此外,你還可以通過下標(biāo)來訪問元組中的單個元素瞬女,下標(biāo)從零開始:(此處功能與數(shù)組類似)

print("The status code is\(http404Error.0)")// 輸出 "The status code is 404"print("The status message is\(http404Error.1)")// 輸出 "The status message is Not Found"

你可以在定義元組的時候給單個元素命名:

lethttp200Status = (statusCode:200, description:"OK")

給元組中的元素命名后窍帝,你可以通過名字來獲取這些元素的值:

print("The status code is\(http200Status.statusCode)")// 輸出 "The status code is 200"print("The status message is\(http200Status.description)")// 輸出 "The status message is OK"

注意:

元組在臨時組織值的時候很有用,但是并不適合創(chuàng)建復(fù)雜的數(shù)據(jù)結(jié)構(gòu)诽偷。如果你的數(shù)據(jù)結(jié)構(gòu)并不是臨時使用坤学,請使用類或者結(jié)構(gòu)體而不是元組。請參考類和結(jié)構(gòu)體报慕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拥峦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子卖子,更是在濱河造成了極大的恐慌略号,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洋闽,死亡現(xiàn)場離奇詭異玄柠,居然都是意外死亡,警方通過查閱死者的電腦和手機诫舅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門羽利,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刊懈,你說我怎么就攤上這事这弧。” “怎么了虚汛?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵匾浪,是天一觀的道長。 經(jīng)常有香客問我卷哩,道長蛋辈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮冷溶,結(jié)果婚禮上渐白,老公的妹妹穿的比我還像新娘。我一直安慰自己逞频,他們只是感情好纯衍,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苗胀,像睡著了一般襟诸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柒巫,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天励堡,我揣著相機與錄音谷丸,去河邊找鬼堡掏。 笑死,一個胖子當(dāng)著我的面吹牛刨疼,可吹牛的內(nèi)容都是我干的泉唁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼揩慕,長吁一口氣:“原來是場噩夢啊……” “哼亭畜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起迎卤,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤拴鸵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蜗搔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體劲藐,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年樟凄,在試婚紗的時候發(fā)現(xiàn)自己被綠了聘芜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡缝龄,死狀恐怖汰现,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叔壤,我是刑警寧澤瞎饲,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站炼绘,受9級特大地震影響企软,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饭望,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一形庭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萨醒,春花似錦、人聲如沸富纸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晓褪。三九已至,卻和暖如春综慎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背示惊。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留米罚,地道東北人钧汹。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像录择,于是被迫代替她去往敵國和親拔莱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理塘秦,服務(wù)發(fā)現(xiàn),斷路器嗤形,智...
    卡卡羅2017閱讀 134,715評論 18 139
  • 關(guān)于 Swift 重要這個文檔所包含的準備信息, 是關(guān)于開發(fā)的 API 和技術(shù)的弧圆。這個信息可能會改變, 根據(jù)這個文...
    無灃閱讀 4,320評論 1 27
  • 基礎(chǔ)部分(The Basics) 當(dāng)推斷浮點數(shù)的類型時,Swift 總是會選擇Double而不是Float搔预。 結(jié)合...
    gamper閱讀 1,302評論 0 7
  • 前幾天給遠在老家的奶奶打電話历造,問了她的近況,打了些錢給她吭产。電話那頭,她有些不好意思的說臣淤,讓我給表弟找個輕松點的工作...
    她人在路上閱讀 1,293評論 0 0
  • 艱苦奮斗的雷少閱讀 129評論 0 0