Swift控制流
- for 循環(huán)
Swift中使用for-in
的形式來進行for
循環(huán),類似于C語言的for條件遞增的循環(huán)方式在Swift 3之后被棄用。
for-in
可以用來遍歷一個區(qū)間(range)、序列(squence)、集合(collection)等里面的所有元素。例如之前說過的Array
、String
、Dictionary
、Set
的遍歷都使用for-in
循環(huán)來進行。
for index in 1...5 {
print(index)
}
上面遍歷的元素是一組使用了閉區(qū)間操作符...
表示的從1到5的數(shù)字,index依次被賦值為1-5。他是一個每次循環(huán)開始時被自動賦值的常量,這種情況下index
在使用前不需要使用let index
聲明,只需要將他包含在循環(huán)的聲明中,就可以對其隱式的進行聲明。
如果你并不需要知道區(qū)間內每一項的值,可以使用_
來代替上面的index
忽略對值的訪問,這種用法用于你只需要控制循環(huán)的次數(shù),而不是遍歷每一個值。
比如你想要輸出10次Hello World
:
for _ in 1...10 {
print("Hello World")
}
用for-in
來遍歷數(shù)組、字符串等集合時,上面的方法只能獲取到每個元素的值,有時我們還需要獲取他對應的下標,這種方法在之前也提到過:
for (index,item) in arr3.enumerated() {
print("第\(index)個元素是\(item)")
}
遍歷字典的key&value也是用這種方法,要注意兩個變量的順序是固定的,第一個代表下標,第二個代表元素值,這是不會因為你變量名的變化而變化的。
- while 循環(huán)
while
循環(huán)運行一系列的語句直到條件變?yōu)?code>false,Swift中的while
循環(huán)有兩種形式:
while
循環(huán),在每次循環(huán)開始時判斷條件是否符合。repeat-while
循環(huán),在每次循環(huán)結束時判斷條件是否符合。(對,就是do-while
)
具體用法就不寫了,跟C一樣,給個例子吧:
var num = 10
while num < 100 {
num += 1
print(num)
}
var num2 = 10
repeat{
num2 += 1
print(num2)
} while num2 < 100