1.For-In循环
//集合循环 let names = ["a", "b", "c"] for name in names { print("Hello, \(name)!") } //次数循环 for index in 1...5{ print("Hello! + \(index)") } //不需要值时可以使用 _ 来忽略此值 for _ in 1...5{ print("Hello!") }
2.while循环
while a < b{ //直到a < b成为false时停止循环 print(".") }
3.Repeat-while循环
repeat { print(".") } while a < b //先执行一次,然后a < b变成false时停止
4.If
if a < b { //语句1 } else if a = b { //语句2 } else { //语句3 }
5.Switch
Switch id { case "a": print("a") //不需要加break,不存在隐式贯穿 case "b": print("b") //每种情况下必须包含语句,否则报错 default: print("其他") }
(1)复合匹配
switch id { case "a", "b": //如果写不下了可分行书写 print("c") default: print("其他") }
(2)区间匹配
switch id { case 1..<5: print("1~4") case 5..12: print("5~11") default: print("其他") }
(3)元组匹配
switch somePoint { case (0,0): //从上到下一一匹配,如果多个case都匹配的话只取最前面 print("0,0") case (_,0): print("几,0") case (0,_): print("0,几") default: print("其他") }
(4)值绑定匹配
switch somePoint { case (let x, 0): print("\(x), 0") case (0, let y): print("0, \(y)") case let(x, y): print("\(x), \(y)") }
(5)where
switch yetPoint { case let (x, y) where x == y: print("\(x) == \(y)") case let (x, y) where x == -y: print("\(x) == - \(y)") }
6.控制转移语句
continue, break, fallthrough, return, throw
continue: 停止本次循环,开始下次循环
break: 立即结束整个控制流。可以使用break忽略switch的分支。
fallthrough贯穿: switch中的case加入贯穿,case会穿透到下一个case/ default。
7.带标签的语句
gameLoop: while a < b { a++ switch a { case 1: continue gameLoop; case 2; break gameLoop; default: print("0") } }
8.提前退出(guard)
guard 语句 else { //不满足条件语句的时候运行此处代码块 return/break/continue/throw/调用无返回方法或函数 } //满足条件语句时运行此处代码块
9.检测API可用性
if #available (iOS 10, macOS 10.12, *) { //iOS:平台名称。10:版本号。*:必须有,更高版本。 //使用10版本API } else { //使用之前版本的API }
标签:case,语句,控制流,iOS,break,switch,let,print,Swift From: https://www.cnblogs.com/lysboke/p/17654684.html