易采站长站为您分析Swift编程中的switch...case语句实例解析,其中重点还是对于fallthrough关键字用法的讲解,需要的朋友可以参考下
Swift中的switch...case语句可以判断对象类型, Objective-C中则必须是整数。
不可以穿透,可以不写break,
var rank = "A"
switch rank{
case "A": //相当于if
print("优")
case "B": // 相当于else if
print("优")
case "C": // 相当于else if
print("优")
default: // 相当于else
print("没有评级")
}
因为不能穿透所以不能这么写
var rank1 = "A"
switch rank1{
case "A":
case "B":
print("优")
case "C":
print("优")
default:
print("没有评级")
}
只能这么写
var rank1 = "A"
switch rank1{
case "A", "B": // 注意OC不能这样写
print("优")
case "C":
print("差")
default:
print("没有评级")
}
不能不写default
var rank2 = "A"
switch rank2{
case "A":
print("优")
case "B":
print("良")
case "C":
print("差")
}
default位置只能在最后
var rank3 = "A"
switch rank3{
default:
print("没有评级")
case "A":
print("优")
case "B":
print("良")
case "C":
print("差")
}
在case中定义变量不用加大括号
var rank4 = "A"
switch rank4{
case "A":
var num = 10
print("优")
case "B":
print("良")
case "C":
print("差")
default:
print("没有评级")
}
区间和元祖匹配
var num = 10;
switch num{
case 1...9:
print("个位数")
case 10...99:
print("十位数")
default:
print("其它数")
}
var point = (10, 15)
switch point{
case (0, 0):
print("坐标在原点")
case (1...10, 10...20): // 可以在元祖中再加上区间
print("坐标的X和Y在1~10之间")
case (_, 0): // X可以是任意数
print("坐标的X在X轴上")
default:
print("Other")
}








