位置:首頁 > 高級語言 > Swift教學 > Swift循環語句

Swift循環語句

循環語句

取決於特定的循環條件,循環語句允許重複執行代碼塊。Swift 提供四種類型的循環語句:for語句、for-in語句、while語句和do-while語句。

通過break語句和continue語句可以改變循環語句的控製流。有關這兩條語句,詳情參見 Break 語句Continue 語句


循環語句語法
循環語句 → for語句
循環語句 → for-in語句
循環語句 → while語句
循環語句 → do-while語句
 

For 語句

for語句允許在重複執行代碼塊的同時,遞增一個計數器。

for語句的形式如下:

for initialzationconditionincrement {
statements
}

initialzationcondition 和 increment 之間的分號,以及包圍循環體 statements 的大括號都是不可省略的。

for語句的執行流程如下:

  1. initialzation 隻會被執行一次,通常用於聲明和初始化在接下來的循環中需要使用的變量。
  2. 計算 condition 表達式: 如果為truestatements 將會被執行,然後轉到第3步。如果為falsestatements 和 increment 都不會被執行,for至此執行完畢。
  3. 計算 increment 表達式,然後轉到第2步。

定義在 initialzation 中的變量僅在for語句的作用域以內有效。condition 表達式的值的類型必須遵循LogicValue協議。


For 循環語法
for語句 → for for初始條件 可選 ; 表達式 可選 ; 表達式 可選 代碼塊
for語句 → for ( for初始條件 可選 ; 表達式 可選 ; 表達式 可選 ) 代碼塊
for初始條件 → 變量聲明 | 表達式列表
 

For-In 語句

for-in語句允許在重複執行代碼塊的同時,迭代集合(或遵循Sequence協議的任意類型)中的每一項。

for-in語句的形式如下:

for item in collection {
statements
}

for-in語句在循環開始前會調用 collection 表達式的generate方法來獲取一個生成器類型(這是一個遵循Generator協議的類型)的值。接下來循環開始,調用 collection 表達式的next方法。如果其返回值不是None,它將會被賦給 item,然後執行 statements,執行完畢後回到循環開始處;否則,將不會賦值給item 也不會執行 statementsfor-in至此執行完畢。


For-In 循環語法
for-in語句 → for 模式 in 表達式 代碼塊
 

While 語句

while語句允許重複執行代碼塊。

while語句的形式如下:

while condition {
statements
}

while語句的執行流程如下:

  1. 計算 condition 表達式: 如果為真true,轉到第2步。如果為falsewhile至此執行完畢。
  2. 執行 statements ,然後轉到第1步。

由於 condition 的值在 statements 執行前就已計算出,因此while語句中的 statements 可能會被執行若乾次,也可能不會被執行。

condition 表達式的值的類型必須遵循LogicValue協議。同時,condition 表達式也可以使用可選綁定,詳情參見可選綁定


While 循環語法
while語句 → while while條件 代碼塊
while條件 → 表達式 | 聲明
 

Do-While 語句

do-while語句允許代碼塊被執行一次或多次。

do-while語句的形式如下:


do {
statements
} while condition

do-while語句的執行流程如下:

  1. 執行 statements,然後轉到第2步。
  2. 計算 condition 表達式: 如果為true,轉到第1步。如果為falsedo-while至此執行完畢。

由於 condition 表達式的值是在 statements 執行後才計算出,因此do-while語句中的 statements 至少會被執行一次。

condition 表達式的值的類型必須遵循LogicValue協議。同時,condition 表達式也可以使用可選綁定,詳情參見可選綁定


Do-While 循環語法
do-while語句 → do 代碼塊 while while條件