李洪強iOS開發Swift篇 06 流程控制

2021-09-08 18:59:41 字數 2254 閱讀 6852

李洪強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 = 95

2 switch score/10

10 // 列印結果是:優秀

5.case的範圍匹配

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)

2 switch point

10 11 // 列印:這個點在x軸上, x值是10

8.where

switch語句可以使用where來增加判斷的條件。比如判斷乙個點是否在右圖的綠線或者紫線上

1 var point = (10, -10)

2 switch point

10 // 列印:這個點在紫線上

9.fallthrough的作用

執行完當前case後,會接著執行fallthrough後面的case或者default語句

1 let num = 20

2 var str = "\(num)是個"

3 switch num

10 println(str)

11 // 列印:20是個0~50之間的整數

注意:fallthrough後面的case條件不能定義變數和常量

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 變數...