Swift-元組

元組將多個值分組為單個復(fù)合值。 元組中的值可以是任何類型,并且不必具有彼此相同的類型。
在此示例中,(404,“NotFound”)是描述HTTP狀態(tài)代碼的元組。 HTTP狀態(tài)代碼是Web服務(wù)器在您請求網(wǎng)頁時返回的特殊值。 如果您請求的網(wǎng)頁不存在,則會返回404未找到的狀態(tài)代碼。

let http404Error = (404, "Not Found")
// http404Error is of type (Int, String), and equals (404, "Not Found")

您可以從任何類型的排列創(chuàng)建元組,并且它們可以包含任意多種不同類型。 沒有什么能阻止你有一個類型(Int,Int,Int)或(String,Bool)的元組,或者你需要的任何其他排列。
您可以將表的內(nèi)容分解為單獨的常量或變量,然后您可以像平常一樣訪問:

let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")
// Prints "The status code is 404"
print("The status message is \(statusMessage)")
// Prints "The status message is Not Found"

如果只需要一些元組值,在分解元組時,使用下劃線(_)忽略元組的一部分:

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

或者,使用從零開始的索引號訪問元組中的各個元素值:

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

當(dāng)定義元組時,您可以在元組中給每個元素命名:

let http200Status = (statusCode: 200, description: "OK")

如果給元組中的元素命名,則可以使用元素名稱訪問這些元素的值:

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

元組作為函數(shù)的返回值特別有用。 嘗試檢索網(wǎng)頁的函數(shù)可能返回(Int,String)元組類型,以描述頁面檢索的成功或失敗。 通過返回具有兩個不同值的元組,每個值具有不同的類型,該函數(shù)提供關(guān)于其結(jié)果的更有用的信息,而不是返回單個類型的單個值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,644評論 19 139
  • 元組(tuples)把多個值組合成一個復(fù)合值。元組內(nèi)的值可以是任意類型,并不要求是相同類型。 下面這個例子中,(4...
    一歐Yiou閱讀 180評論 0 0
  • 作者:terhechte,原文鏈接,原文日期:2015/07/19譯者:mmoaay;校對:lfb_CD;定稿:n...
    梁杰_numbbbbb閱讀 5,020評論 0 9
  • 4#時間管理100-87課程分享(既能錄音又能手寫的軟件推薦) 今天我們先來談?wù)勗趇Pad上的“手寫”,就是用“一...
    飛翔_9215閱讀 122評論 0 0
  • 一直處在不能放下顧慮來一場說走就走的旅行的狀況中,忙于生計,這樣的想法早已被壓在心底,當(dāng)有一天給自己放個假的想法達(dá)...
    歡樂屋閱讀 410評論 0 0

友情鏈接更多精彩內(nèi)容