swift中幽灵般存在的switch
//学了几门语言,没有一门可以做到switch这样随心所欲,你想到的,它就可以做到,犹如六脉神剑,变换无穷
import Foundation
//可以为字符串,可以为浮点型,可以为元组
var li = “lijian”
switch li {
case let str where str.hasSuffix(“an”):
println(“含有目标字符串”)
fallthrough
//可以继续往下执行
case “lijian”,”li”:
println(“ddd”)
default:
println(“haha”)
}
//—————————————————-
let coor = (10,0)
switch coor {
case (0…10,0…90):
println(“(coor.0),(coor.1)”)
case (_,0):
println(“use_ output (10,0)”)
case let (x,y) where x == y:
println(“相等”)
case let (x,y) where x == -y:
println(“相反数”)
case (let x,0):
println(“输入第二个坐标是0的元组”)
case (let x,let y):
println(“accept all”)
// default 其实不是必须的,只要可以包含所有的情况即可
//default:
// println(“error”)}
由于switch语句不存在隐式贯穿,因此case块至少包含一条语句。
// 虽然只有几行代码,但其功能强大暴露无疑