第二節 Swift流程控制

2021-06-22 10:18:24 字數 1050 閱讀 4575

使用ifswitch實現條件判斷的功能,使用for-in,for,whiledo-while實現迴圈的功能條件表示式或迴圈變數外面的括號是可選的。包住語句體的大括號不能省略。

在乙個if語句裡,條件必須是乙個布林表示式----這就意味著類似於if score的**是錯誤的,而不是隱含的和0進行比較的。

你可以使用if和let一起來作用於乙個值,這個值可能會消失。這些值被表示為可選的。乙個可選值或者包含乙個值或者是nil來說明這個值已經消失。在乙個變數的型別之後新增乙個?來標記這個值是可選的。

experiment

改變optionalname值為空,你得到的greeting的值是什麼?如果optionalname是空的新增乙個else從句來設定不同的greeting值。

如果可選的值是nil,條件是false,那麼在大括號裡面的**將會跳過。否則,可選值會解包並且賦值給let後的常量,這個常量使得在**的語句塊裡的解包值是可用的。

switches支援任意型別的資料和廣泛的比較操作。它們不僅僅是侷限於整型和相等性測試。

實驗:試著移除default語句,你會得到什麼錯誤?

在執行完和switch條件匹配的**之後,程式會從switch語句裡面退出。不會再執行下乙個case語句,所以沒有必要顯式的在每條case語句後加上跳出switch語句的**。

你可以在for-in 中使用一對變數來遍歷字典中的鍵值對。

實驗:新增其他的變數來找出哪乙個數式最大的,最大的數是什麼。

使用while語句來重複的執行**塊直到條件改變為止。迴圈條件也可以放在最後面,確保迴圈至少執行一次。

你可以在迴圈中使用乙個索引,要麼使用..來宣告一下索引的範圍,要麼明確的指定初始值,條件和增量。下面的兩個迴圈實現了相同的功能。

使用..指定的範圍不包括上限值,使用...指定的範圍包括兩端的值。

第二章第二節程序控制與同步

2.2程序的控制 基本過程 程序的建立 程序的終止 程序的阻塞與喚醒 程序的掛起和啟用 1 程序的建立 1 乙個程序建立另一程序的事件 原因 使用者登入 分時情況下使用者的請求 作業排程 批處理中 提供服務 執行中的使用者程式提出功能請求,要建立服務程序 如列印服務 應用請求 應用程式自己建立程序,...

Swift 流程控制

1 if else let age 5 if age 5 else if age 5 else 注意 if 後面的小括號可以省略 條件後面的大括號不能省略 if 條件後面只能跟bool型別 2 while var age 5 while age 0 輸入結果5 4 3 2 1 輸出5次 var ag...

Spring 第二節控制反轉(IOC)

怎麼理解控制反轉 ioc即控制反轉,通常我們在專案當中需要手動new去建立物件,用這種方式 的耦合度較高,不利於對物件的管理。現在我們將物件的建立權利反轉給spring容器,這就是控制反轉。當某個類a需要類b物件時,如果類b已經交給了spring容器來管理,那麼程式執行到類a需要類b時,spring...