模式匹配

if(coordinate.y ==0) && (coordinate.z ==0) {
  print("along the x-axis")
}

if case(_,0,0) =coordinate{
  print("along the x-axis")
}

这两段代码可以得到相同的效果。

let array: [Any] = [15, "George", 2.0]
for element in array {
 switch element {
 case is String:
   print("Found a string") // 1 time
 default:
   print("Found something else") // 2 times
 }
}
for element in array {
 switch element {
 case let text as String:
   print("Found a string: \(text)") // 1 time
 default:
   print("Found something else") // 2 times
  }
}

is 与 as

for number in 1...9 {
  switch number {
  case let x where x % 2 == 0:
    print("even") // 4 times
  default:
    print("odd") // 5 times
  }
}

where 用法

你可能感兴趣的:(模式匹配)