《從零開始學Swift》學習筆記(Day 28)——總結使用問號(?)和感嘆號(!)

原創文章,歡迎轉載。轉載請註明:關東昇的博客  php

在使用可選類型和可選鏈時,屢次使用了問號(?)和感嘆號(!),可是它們的含義是不一樣的,下面我來詳細說明一下。 微信

1. 可選類型中的問號(?ide

聲明這個類型是可選類型,訪問這種類型的變量或常量時要使用感嘆號(!),下列代碼是顯示拆包: 網站

let result1: Double? = divide(100, 200)  spa

print(result1!)    .net

2. 可選類型中的感嘆號(!設計

聲明這個類型也是可選類型,可是訪問這種類型的變量或常量時能夠不使用感嘆號(!),下列代碼是隱式拆包:教程

let result3: Double! = divide(100, 200) get

print(result3)      博客

 

3. 可選鏈中的感嘆號(!

多個實例具備關聯關係,當從一個實例引用另外實例的方法、屬性和下標等成員時就會造成引用鏈,因爲這個「鏈條」某些環節可能有值,也可能沒有值,所以須要採用以下方式訪問:

emp.dept!.comp!.name

 

4. 可選鏈中的問號(?

在可選鏈中使用感嘆號(!)訪問時,一旦「鏈條」某些環節沒有值,程序就會發生異常,咱們把感嘆號(!)改成問號(?),代碼以下所示:

emp.dept?.comp?.name

這樣某些環節沒有值的時候返回nil,程序不會發生異常。

 

歡迎關注關東昇新浪微博@tony_ 關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
 

更多精品iOSCocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php

相關文章
相關標籤/搜索