Default
有時候不需要匹配每個列舉成員,預設default分支來可以涵蓋所有未明確被提出的任何成員。
enum Brand {
case dandan
case mos
case mcdonalds
case kfc
}
let name = Brand.dandan
switch name {
case .dandan:
print("台南高雄限定")
default:
print("全台皆有分店")
}
Compound(複合)Cases
switch name {
case .dandan:
print("不提供外送服務")
case .mos:
print("限定區域提供外送服務")
case .mcdonalds, .kfc:
print("全台提供外送服務")
}
Fall Through 貫穿
var message = "歡迎光臨~"
switch name {
case .mos, .mcdonalds, .kfc:
message += "我們全台各地的分店"
case .dandan:
message += "南霸天丹丹~"
fallthrough
default:
message += "高雄台南限定的分店"
}
print(message)
Interval Matching With Switch Statements 區間匹配
let money = 0
switch money {
case 70..<100:
print("丹丹")
case 100..<150:
print("麥當勞或肯德基")
case 150...:
print("摩斯")
default:
print("吃土")
}