Swift學(xué)習(xí)筆記二之控制流

接上篇,
1、隱式解析可選類型
目的:有些時候在程序架構(gòu)中,第一次被賦值之后,可以確定一個可選類型總會有值,在這種情況下。每次都要判斷和解析可選值是非常低效的,因為可以確定它總會有值。
折中類型的可選狀態(tài)被定義為隱式解析可選類型。把想要用作可選的類型的后面的問號(String?)改成感嘆號(String?。﹣砺暶饕粋€隱式解析可選類型

let forcedString: String = possibleString!
print(forcedString)
let assumedString: String! = "An implicitly unwarpped optional string"
let implicitString: String = assumedString
print(implicitString)```
注:可以把隱式解析可選類型當(dāng)作一個可以自動解析的可選類型,你要做的是只是聲明的時候把感嘆號放到類型的結(jié)尾,而不是每次取值的可選名字的結(jié)尾

2、斷言:
可選類型可以讓你判斷值是否存在,你可以在代碼中優(yōu)雅地處理值缺失的情況,然而,在某些情況下,如果值缺失或者并不滿足特定條件,你的代碼可能沒辦法繼續(xù)執(zhí)行。這時你可以在你的代碼中觸發(fā)一個斷言來結(jié)束代碼運行并通過調(diào)試來找到值缺失的原因。

3、空合運算符
a??b:將對可選類型a進(jìn)行空判斷,如果a包含一個值就進(jìn)行解封,否則就返回一個默認(rèn)值b,等同于以下三目元運算符  a?。絥il?a!:b

4、區(qū)間運算符
a...b表示從a到b包含ab常用在循環(huán)中

5、集合類型:

Arrays、Sets、Dictionaries:其中Arrays是有序的數(shù)據(jù)集、集合(Sets)是無序無重復(fù)數(shù)據(jù)的集、字典(Dictionaries)是無序的鍵值對的集。
在Swift語言中,這幾個數(shù)據(jù)類型存儲的數(shù)據(jù)值類型必須明確。這就意味著我們不能把不正確的數(shù)據(jù)類型插入其中。同時這也說明我們完全可以對取回值的類型非常自信

集合Sets,用來存儲相同類型并且沒有確定順序的值。當(dāng)集合元素順序不重要時或者希望確保每個元素只出現(xiàn)一次時可以使用集合而不是數(shù)組

6、控制流
if repeat while while Swith case   標(biāo)簽 、guard(提前退出)

7、檢測API的可用性
if #available(platform name version,...,*){
API可用,語句將執(zhí)行
}else{
API不可用,語句將不執(zhí)行
}
最后編輯于
?著作權(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)容

  • 1、范型范型所解決的問題 函數(shù)、方法、類型:類,結(jié)構(gòu)體,枚舉,元組類型,協(xié)議參數(shù),返回值,成員函數(shù)參數(shù),成員屬性類...
    我是小胡胡123閱讀 942評論 0 1
  • 基礎(chǔ)部分(The Basics) 當(dāng)推斷浮點數(shù)的類型時,Swift 總是會選擇Double而不是Float。 結(jié)合...
    gamper閱讀 1,493評論 0 7
  • Swift函數(shù) Swift函數(shù)包含參數(shù)類型和返回值類型 函數(shù)定義 Swift使用關(guān)鍵字func定義函數(shù)。 函數(shù)定義...
    小小廚師閱讀 554評論 0 0
  • 文/寒煙 姐夫,關(guān)于你的文字,寫的是那么艱難,每每提筆,潸潸淚落。幾十年的兄妹緣,有太多的內(nèi)容需要詮釋,有太多的情...
    寒煙y閱讀 679評論 8 9
  • 大家早點睡吧。
    洋蔥花閱讀 419評論 10 9

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