李洪強ios開發swift篇—06_流程控制
一、swift中的流程控制
swift支援的流程結構如下:
迴圈結構:for、for-in、while、do-while
選擇結構:if、switch
注意:這些語句後面一定要跟上大括號{},在c語言中不是必須的
說明:跟c語言對比,用法基本一樣的有:for、while、do-while、if
因此,只需要關注for-in和switch即可
二、for-in結構
簡單使用:
for-in和範圍運算子
for i in 1...3
2.switch語句在 swift 和 c 中的區別:
在c語言中,如果case的結尾沒有break,就會接著執行下乙個case或者default語句
在swift中,不需要在每乙個case後面增加break,執行完case對應的**後缺省會自動退出switch語句
3.switch的注意點
在swift中,每乙個case後面必須有可以執行的語句
1 let grade = "b」說明:第二行**會報錯2 switch grade
4.case的多條件匹配
1個case後面可以填寫多個匹配條件,條件之間用逗號,隔開
1 let score = 955.case的範圍匹配2 switch score/10
10 // 列印結果是:優秀
case後面可以填寫乙個範圍作為匹配條件
1 let score = 95注意:2 switch score
10 // 列印結果是:優秀
switch要保證處理所有可能的情況,不然編譯器直接報錯
因此,這裡的default一定要加,不然就出現了一些處理不到的情況
6.case匹配元組
case還可以用來匹配元組。比如判斷乙個點是否在右圖的藍色矩形框內
第5行中 _ 的作用(2種理解方式)
(1)能匹配任何值
(2)忽略對應位置元組元素
7.case的數值繫結
在case匹配的同時,可以將switch中的值繫結給乙個特定的常量或者變數,以便在case後面的語句中使用
1 let point = (10, 0)8.where2 switch point
10 11 // 列印:這個點在x軸上, x值是10
switch語句可以使用where來增加判斷的條件。比如判斷乙個點是否在右圖的綠線或者紫線上
1 var point = (10, -10)2 switch point
10 // 列印:這個點在紫線上
9.fallthrough的作用
執行完當前case後,會接著執行fallthrough後面的case或者default語句
1 let num = 20注意:fallthrough後面的case條件不能定義變數和常量2 var str = "\(num)是個"
3 switch num
10 println(str)
11 // 列印:20是個0~50之間的整數
10.標籤
使用標籤的其中1個作用:可以用於明確指定要退出哪個迴圈
1 // 做2組俯臥撐,每組3個,做完一組就休息一會輸出結果是2 group :
3 for _ in 1...2
9 }
10 println("休息一會")
11 }
做1個俯臥撐
做1個俯臥撐
**示例:
李洪強iOS開發Swift篇 02 變數和常量
李洪強ios開發swift篇 02 變數和常量 一 語言的效能 1 根據wwdc的展示 在進行複雜物件排序時objective c的效能是python的2.8倍,swift的效能是python的3.9倍 在實現 rc4加密演算法時objective c的的效能是python的127倍,swift的效...
李洪強iOS開發之Foundation框架 結構體
foundation框架 結構體 一 基本知識 foundation 基礎框架。框架中包含了很多開發中常用的資料型別,如結構體,列舉,類等,是其他ios框架的基礎。如果要想使用foundation框架中的資料型別,那麼包含它的主標頭檔案就可以了。即 import 補充 core foundation...
李洪強漫談iOS開發 C語言 053 小結
已經學習過的c語言語法 01 基本c程式結構 int main void int main int argc,char arv 02 基本語句 輸入輸出 基本標頭檔案 include printf scanf getchar 返回緩衝區中的乙個字元的ascii碼 ch getchar n 03 變數...