講到寫程式除了判斷式還有一個實作中常用的語法,也就是迴圈
當我們要提取出陣列、字典、集合的值出來做比對判斷又或是需要print出來就是用迴圈來執行
本篇會介紹兩種常用的迴圈,同樣會用範例來讓大家更直觀的理解用法
for-in
while
for-in
在使用時需要給他一個範圍來做迴圈
主要的邏輯像是在鄉下的村里一間一間的拜訪for
後方的變數就是被拜訪的鄰居,而in
後方的就是村里有幾個鄰居,也就是我們需要的範圍
先帶大家看看for-in的基本格式
for 變數 in 範圍{
迴圈時要執行的程式
}
下面我們簡單的用陣列舉個例子
let box = ["apple", "banana", "grape"]
for fruit in box {
print("I like \(fruit).")
}
小技巧: 在這次的範例中有使用將變數值放入字串中,使用方法就是在字串裡加\(變數名)
範例的邏輯是我們先設定box
裡面的陣列,然後用for-in
迴圈一個一個的取出裡面的fruit
最後把結果print出來
//輸出結果如下
I like apple.
I like banana.
I like grape.
最簡單的就是使用可以儲存資料的陣列、集合等來當作範圍,可以依照實際運用來修改喔!
while
迴圈在使用上跟for-in
不太一樣while
迴圈的邏輯是我先判斷一個事件,直到它的Bool
值變成false
前不停執行迴圈內的程式
while 條件表達式 {
迴圈時要執行的程式
}
也因此會使用到while
迴圈的情況通常條件表達式都會與程式中的變數息息相關
我們同樣舉個範例
var apple = 1
while apple < 10 {
apple = apple * 2
}
print(apple) // 16
這個例子我們用蘋果的數量來做範圍,如果蘋果的數量小於10就乘2直到蘋果超過10就停下
既然我們介紹完了while
,稍微來補充一下while
的變種用法repeat-while
先帶大家看一下格式
repeat {
每次循環要執行的程式
} while 條件表達式
這次我們先來看例子
var apple = 1
repeat {
apple = apple * 2
} while apple < 10
print(apple) // 16
雖然說最後在這個例子中結果是相同的,不過在使用時和while的差別就是會先跑一次迴圈再判斷條件
迴圈其實有著許許多多的變化用法,不過核心概念弄懂後就可以輕鬆化解困難啦!