1.匹配一个或者多个值
let number = 0
switch number {
case 1 :
print(1)
case 2,3,4,5,6 :
print("2或者3或者4或者5或者6")
default :
print("其他")
}
2.匹配一个范围
switch number{
case 1...2 :
print("1...2")
case 3...4:
print("3...4")
default:
print("其他")
}
3.tuple的匹配
以匹配如下图上的点为例:
坐标系let point = (1,1)
switch point{
case (0,0):
print("原点")
case (_,0) :
print("x轴上的点")
case (0,_):
print("y轴上的点")
case (-2...2,-2...2):
print("蓝色区域的点")
default:
print("蓝色区域外的点")
}
4.匹配过程中绑定一个值
let point2 = (0,1)
switch point2{
case (0,0):
print("原点")
case (let x,0) :
print("x轴上的值:\(x)")
case (0,let y):
print("y轴上的值\(y)")
case (-2...2,-2...2):
print("蓝色区域的点")
default:
print("蓝色区域外的点")
}
5.匹配过程中添加条件,比如匹配x=y线上的坐标
let point3 = (1,1)
switch point3{
case let (x,y) where x==y:
print("x=y线上的点")
default :
print("其他")
}
6.switch中的注意事项
- switch中的case必须包含所有的条件
- switch在swift和oc的不同的是swift中case语句执行完不会接着执行下一个语句
网友评论