在c或python有不一樣的for迴圈的格式像是 for(i=0;i<10;i++) 是C的,而python則是 for i in range(x) 完全不一樣的寫法,而swift則是這兩個的融合版本,以下為範例:
for i in 0...10 {
print(i) //印出第幾圈
}
在上個範例中,迴圈會從 0 執行到 10,也就是執行 11 次。"..." 兩側的數字可以替換成變數,範例如下:
for i in x..<y {
print(i) //印出第幾圈
}
假設 x=0 且 y=10,使用上述程式碼可以讓迴圈執行 10 次。在這裡,"..." 的左側表示起始點,即迴圈中 i 的起始值,而右側的值則決定終止條件。若右側使用 ..<,則相當於 i<y 的條件,即不包含 y。
要歷遍陣列的每個元素,Swift 提供了更簡潔的方法,如下所示:
let month = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
for x in month {
print(x) //印出每一項的值
}
此範例中,迴圈會根據 month 陣列的項數執行,並將每次迴圈對應的項目賦予 month 變數。這種方式非常高效,適合處理陣列。
但你也可以使用更傳統的方式,像是下面的範例:
let word = {"a","b","c"}
for x in 0..<word.count {
print(word[x]) //印出每一項的值
}
這種方法會使用索引來存取陣列的每個項目,雖然這樣做有效,但對於大型陣列,執行時間可能稍微增加。