for-in循环
for-in循环与c++的for循环有些相像,但没有更新循环控制变量的处理。
let numberOfLegs = [“spider”: 8, “ant”: 6, “cat”: 4]
for (animalName, legCount) in numberOfLegs {
Statement
} //for-in循环遍历字典
while循环,repeat-while循环
while condition {
Statement
}
repeat {
Statement
} while condition
其中repeat-while循环与c++的do-while循环类似。
switch
与c++不同,swift的switch语句不会贯穿,不需要每个case都加上break,除非有意如此,在需要贯穿特性的case分支后加fallthrough,表示贯穿到下一分支。
swift的switch语句比c++的switch灵活得多。可以多个条件组合成一个case分支,用逗号“,”分开;case分支还可以区间匹配,
switch someCondition {
Case 0:
Case 1..<5:
Case 5…10:
}
元组匹配,
switch someCondition {
Case (0, 0):
Case (0, _):
Case (_, 0):
case (-2…2, -2…2):
Default:
}
还可以用where添加额外的条件,
Switch point {
Case let (x, y) where x == y:
Case let (x, y) where x == -y:
Case let (x, y):
}
另外,swift还添加了c++没有的guard语句,用于提前退出,当然c++可以通过if语句来实现。guard语句的用法如下,
func greet(person: [String: String]) {
guard let name = person[“name”] else {
return
}
}