一、swift支持的流程结构
1、循环结构
for、for-in、while、do-while
2、选择结构
if、switch
3、跟C语言对比
用法基本一样 for、while、do-while、if 只需关注for-in和switch
二、for-in和范围运算符
1、for i in 1...3{ print(i) } //按顺序从范围中取值赋值给i,每取一次值,就执行一次循环体 2、如果需要用到范围的值,可以使用下划线_进行忽略,节省内存
三、switch
1、格式 let grade = "B" switch(grade){ case "A": print("优秀生") case "B": print("中等生") case "C": print("及格生") default: print("未知") } 2、switch语句在swift和C中的区别 1)case case和switch()后面可以是任意类型 2)break 在C语言中,如果case的结尾没有break,j就会接着执行下一个case 在swift语句中,不需要再每一个case后面增加一个break,执行完case对应的代码后默认会自动退出switch语句 3)default不能省 switch要保证处理所有可能的情况,不然编译器直接报错 4)每一个case后面必须有可执行的语句 3、case的多条件匹配 一个case后面可以填写多个匹配条件,条件之间用逗号隔开 4、case的范围匹配 case后面添加90...1000 5、case还可以用来匹配元组 let point = (1,1) switch point{ case (0,0): print("圆点上) case (_,0)://_能匹配任何值 print("这个点在x轴上") case (-2...2,-2...2): print("这个点在矩形框内") default: print("这个点在其他位置") } 6、数值绑定 在case匹配的同时,可以将swift中的值绑定给一个特定的变量或者常量,以便在后面的语句中使用 let point = (10,1) switch(point){ case let (x,0): print("\(x)") case let (0,y): print("(y)") case let (x,y): print("\(x) \(y)") } 7、swich语句可以使用where来增加判断的条件 let point = (10,10) switch(point){ case let (x,y) where x == y : print("在x=y那条线") case let (x,y) where x == -y: print("在x=-y那条线") case let (x,y): print("未知") } 8、fallthrough 执行当前case后,会接着执行fallthrogh后面的case或者default语句 let num = 20 var str = "\(num)是个" switch num{ case 0...50: str += "0~50之间的" fallthrough default : str += "整数" }