1.语法:
switch 条件表达式 {
case 值1:
语句组1
...
default:
语句组
}
2.注意事项:
a.必须有default分支;
b.“..”代表前闭后开;
c.“...”代表前闭后闭;
d.使用枚举时,必须包含所有情况,可以无default分支;
e.case语句默认不会往下继续执行,fallthrough可以实现继续往下执行。
3.使用元组:
a.即“条件表达式”为元组;
b.分支的“()”中的“_”代表不进行比对;
c.同样元组中的元素也可以使用范围匹配(“..”/“...”);
d.值绑定,元组中元素使用常量或者变量,可以将“条件表达式”中传入的值取出来,在语句组中使用,如:
switch ... {
case (_, let value, ...)
if value > 0 {
println("value is \(value)")
}
defaule:
println("This is default")
}
e.where语句,在值绑定的前提下使用,可以起到过滤的作用,如
...
case (_, let value, ...) where value > 0
...
default:
...
f.swift语言的switch语句相对 C++的switch语句强大了很多,灵活使用会提高代码的灵活性,减少代码量的同时可实现的功能更加丰富。