时间:2021-05-02
Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性。使用Switch语句很简单:
? 1 2 3 4 5 6 7 8 9 var i = 0 switch i { case 0: "0" //被输出 case 1: "1" default: "2" }在这个最简单的Switch语句中,与其他语言很不同的一点是:不用显式的加上break。Swift的Switch语句会自动在case结尾处加上break,执行完满足条件的case部分后,就自动退出了。但是在某些情况下,我们可能会希望Switch能同时执行两条case,那么可以这样:
? 1 2 3 4 5 6 7 8 9 var i = 3 switch i { case 0,3: "0" //被输出 case 1: "1" default: "2" } 在case后的多个条件中,用逗号隔开即可。
如果就是想执行完一条case之后,想继续执行下一条case,就要用到一个新的关键字:
使用新的关键字fallthrough能使Switch在执行完一个case之后,紧接着执行下一条case。
Swift的Switch语句一定要涵盖所有的情况,这并不是说一定要有default,只要上面的case能满足所有的情况,就可以不用写default。
下面我们来看一些小例子帮助理解:
例1:
? 1 2 3 4 5 6 7 8 9 10 let someOne = ("25","liyuanbo") switch someOne { case (_,let name) where name.hasPrefix("li"): println("First name has li") default: println("First has not li") }这里 (_,let name) where name.hasPrefix("li") 就是在someOne2落入(_,let name)中的name有没有前缀字符串有没有li。当然someOne2是满足这个条件的。
例2:
下面我们来看看fallthrough的用法
这样我们可以看到打印输出了:原点,x轴,y轴,如果继续加,就会打印多出一个矩形区域。
最后我们要强调一点,swift中的switch一定的包含变量的所有情况,这里我们如果coordinate4是(10,10)然后把default注释点,就会报错,因为上面4个条件是不能满足(10,10)这个点的。
那是不是说必须得有default,当然不是的,这要对变量的所有情况都包含,可以没有default。
这里就可以没有default,因为这里case(let x,let y)都包含了2维坐标的所有点。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Swift中的switch...case语句可以判断对象类型,Objective-C中则必须是整数。不可以穿透,可以不写break,?1234567891011
在Swift中的switch语句,只要第一个匹配的情况(case)完成执行,而不是通过随后的情况(case)的底部,如它在C和C++编程语言中的那样。以下是C和
switch语句的普通用法很简单,如下:vara=3;switch(a){case1:console.log(a);break;case2:case3:cons
Switch简介Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行
java中的switchcase语句switch-case语句格式如下:switch(变量){case变量值1://;break;case变量值2://...;