元組(tuples)app
tuples是將多個單一的值組合爲一個複合的值。它能夠包含任何類型的值,而不須要都是相同類型。函數
一.元組的建立學習
1。spa
let http404error = (404,"NOT FOUND!") let (statusCode, statusMessage) = http404error print("The status code is \(statusCode),the status message is \(statusMessage)")
2.code
let httpError = (statusCode:404,statusMessage:"Not Found!")
輸出結果對象
二.元組數據的訪問blog
1.statusCode,statusMessage就像字典中的key同樣,咱們能夠經過它們來訪問元祖的元素。it
2.還可使用下標來訪問io
三.元組元素的忽略class
有時候並非須要全部的元素,咱們能夠經過_下劃線來忽略不須要的元素。
let http404error = (404,"NOT FOUND!") let (statusCode, _) = http404error print("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):