iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
自我挑戰組

初入Swift新手村的旅程系列 第 10

Day10 Swift語法( 9 ) Loops

  • 分享至 

  • xImage
  •  

for in

前面幾個章節,都有提到for in Loop結構的使用,for in 結構需要兩個參數,第一個參數是一個臨時參數,第二個可以是一個集合類型的實例,也可以是一個範圍區間,而第一個參數便會接受來自第二個參數所給予的值。

for index in 1...5 {
    print(index)
}
//  依次印出 1 2 3 4 5

在進行for in 的時候,開發者假設不需要抓出來的值的話,第一個參數的位置可以使用匿名參數來代替,在Swift 中使用 _ 來代表匿名函數。

var sum = 0
for _ in 1...3 {
    sum += 1
}
print(sum)
// 印出 3

對集合的遍歷是for in常用的場景之一。

var collection1:Array = [1,2,3,4]
var collection2:Dictionary = [1:1,2:2,3:3,4:4]
var collection3:Set = [1,2,3,4]
for obj in collection1 {
    print(obj)
}
//  依次印出 1 2 3 4 
for (key, value) in collection2 {
    print(key, value)
}
//  依次印出2 2  4 4  3 3  1 1

for obj in collection3 {
    print(obj)
}
//  依次印出 1 2 3 4 

while

while與repeat while在Swift跟其他程式語言無異,只是Swift將do while改成repeat while。
在while結構中,while後面需要填寫一個邏輯值或是一個條件,如果為true則會進入循環,如果循環依然為真,則再次進入循環。循環是根據條件來判斷是否進入循環。

var i = 0
while i < 10 {
    print("while", i)
i += 1
}
//while 0
//while 1
//while 2
//while 3
//while 4
//while 5
//while 6
//while 7
//while 8
//while 9

https://ithelp.ithome.com.tw/upload/images/20220925/20152549EDSXlQwa59.jpg

若條件或是判斷的設定不正確,變成一直成立則會進入無限迴圈

repeat while

repeat while結構則是會先執行一次,在進行條件的判斷。

var j = 0
repeat {
    print("repeat while")
    j += 1
} while j < 10
//repeat while
//repeat while
//repeat while
//repeat while
//repeat while
//repeat while
//repeat while
//repeat while
//repeat while
//repeat while

條件是j < 10 但因為是repeat 所以是印出10次
https://ithelp.ithome.com.tw/upload/images/20220925/201525496PewnqjdSO.jpg

兩張圖表示了,兩者的差別。

接下來,是流程控制的介紹


上一篇
Day09 Swift語法( 8 ) 字典
下一篇
Day11 Swift語法( 10 ) 流程控制
系列文
初入Swift新手村的旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言