1.示例1
import UIKit
var a:Int = 10
switch a {
case 10:
print("情况1")//情况1
case 20:
print("情况2")
default:
print("默认情况")
}
switch a {
case 10:
print("情况1")//情况1
fallthrough//fallthrough会导致不断和后面的case匹配,直到遇到default
case 20:
print("情况2")//情况2
default:
print("默认情况")
}
2.示例2
import UIKit
var a:String = "a"
switch a {
case "a","b","c"://abc匹配成功一个即可
print("情况1")//情况1
case "d","e":
print("情况2")
default:
print("默认情况")
}
3.示例3
import UIKit
var a:Int = 3
switch a {
case 1..<5://1,2,3,4匹配成功一个即可
print("情况1")//情况1
case 5..<10://5,6,7,8,9匹配成功一个即可
print("情况2")
default:
print("默认情况")
}
4.示例4
import UIKit
var a = (10,20)
switch a {
case let(name1,name2)://name1对应10,name2对应20
print("情况1")//情况1
print("name:\(name1)")//name:10
print("name:\(name2)")//name:20
case var(10,name2):
print("情况2")
default:
print("默认情况")
}
5.示例5
import UIKit
var a = (10,20)
switch a {
case let(name1,name2) where name1>name2://name1对应10,name2对应20,不满足name>name2
print("情况1")//情况1
case var(10,name2):
print("情况2")
default:
print("默认情况")
}