標籤:
元組(tuples)
tuples是將多個單一的值組合為一個複合的值。它可以包含任何類型的值,而不需要都是相同類型。
一.元組的建立
1。
let http404error = (404,"NOT FOUND!")let (statusCode, statusMessage) = http404errorprint("The status code is \(statusCode),the status message is \(statusMessage)")
2.
let httpError = (statusCode:404,statusMessage:"Not Found!")
輸出結果
二.元組資料的訪問
1.statusCode,statusMessage就像字典中的key一樣,我們可以通過它們來訪問元祖的元素。
2.還可以使用下標來訪問
三.元組元素的忽略
有時候並不是需要所有的元素,我們可以通過_底線來忽略不需要的元素。
let http404error = (404,"NOT FOUND!")let (statusCode, _) = http404errorprint("The status code is \(statusCode)")
作為函數傳回值時,元組非常有用。一個用來擷取網頁的函數可能會返回一個(Int, String)元組來來描述是否擷取成功。和只能返回一個類型的值比較起來,一個包含兩個不同類型值的元組可以讓函數的返回資訊更有用。
可選(Optional)
使用可選optional來處理一些值缺失的情況。
There is a value, and it equals x有一個等於X的值
or或者
There isn’t a value at all沒有值
注意:
在C 和 Objective-C 語言中並沒有可選這個概念。最接近的 Objective-C 特徵是,一個方法要不返回一個對象要不返回nil,nil表示“缺少一個有效對象”。然而,這隻對對象起作用——對於結構體,基本的 C 類型或者枚舉類型並不起作用。對於這些類型,Objective-C 方法一般會返回一個特殊值(比如NSNotFound)來暗示值缺失,Swift 的可選可以讓你暗示任意類型的值缺失。
如果一個類型可選那麼就在類型後加?即表示可選如Int?
下面我們通過一個簡單的例子來學習一下可選
let possibleNumber = "12345"let number = Int(possibleNumber)print(number)
輸出結果
let possibleNumber = "Hello,how are you?"let number = Int(possibleNumber)print(number)
輸出結果
你將一個毫無價值的可選變數設定為nil
if 語句以及強制解析
你可以使用if語句來判斷一個可選是否包含值。如果可選有值,結果是true;如果沒有值,結果是false。
當你確定可選包確實含值之後,你可以在可選的名字後面加一個驚嘆號(!)來擷取值。這個驚嘆號表示“我知道這個可選有值,請使用它。”這被稱為可選值的強制解析(forced unwrapping):
【Swift學習】Swift編程之旅(三)