Swift控制流
- for 循环
Swift中使用for-in
的形式来进行for
循环,类似于C语言的for条件递增的循环方式在Swift 3之后被弃用。
for-in
可以用来遍历一个区间(range)、序列(squence)、集合(collection)等里面的所有元素。例如之前说过的Array
、String
、Dictionary
、Set
的遍历都使用for-in
循环来进行。
for index in 1...5 {
print(index)
}
上面遍历的元素是一组使用了闭区间操作符...
表示的从1到5的数字,index依次被赋值为1-5。他是一个每次循环开始时被自动赋值的常量,这种情况下index
在使用前不需要使用let index
声明,只需要将他包含在循环的声明中,就可以对其隐式的进行声明。
如果你并不需要知道区间内每一项的值,可以使用_
来代替上面的index
忽略对值的访问,这种用法用于你只需要控制循环的次数,而不是遍历每一个值。
比如你想要输出10次Hello World
:
for _ in 1...10 {
print("Hello World")
}
用for-in
来遍历数组、字符串等集合时,上面的方法只能获取到每个元素的值,有时我们还需要获取他对应的下标,这种方法在之前也提到过:
for (index,item) in arr3.enumerated() {
print("第\(index)个元素是\(item)")
}
遍历字典的key&value也是用这种方法,要注意两个变量的顺序是固定的,第一个代表下标,第二个代表元素值,这是不会因为你变量名的变化而变化的。
- while 循环
while
循环运行一系列的语句直到条件变为false
,Swift中的while
循环有两种形式:
while
循环,在每次循环开始时判断条件是否符合。repeat-while
循环,在每次循环结束时判断条件是否符合。(对,就是do-while
)
具体用法就不写了,跟C一样,给个例子吧:
var num = 10
while num < 100 {
num += 1
print(num)
}
var num2 = 10
repeat{
num2 += 1
print(num2)
} while num2 < 100