位置:首頁 > 高級語言 > Swift教學 > Swift匹配枚舉值和Switch語句

Swift匹配枚舉值和Switch語句

匹配枚舉值和Switch語句

你可以匹配單個枚舉值和switch語句:

directionToHead = .South
switch directionToHead {
case .North:
    println("Lots of planets have a north")
case .South:
    println("Watch out for penguins")
case .East:
    println("Where the sun rises")
case .West:
    println("Where the skies are blue")
}
// 輸出 "Watch out for penguins”

你可以如此理解這段代碼:

“考慮directionToHead的值。當它等於.North,打印“Lots of planets have a north”。當它等於.South,打印“Watch out for penguins”。”

等等依次類推。

正如在控製流(Control Flow)中介紹,當考慮一個枚舉的成員們時,一個switch語句必須全麵。如果忽略了.West這種情況,上麵那段代碼將無法通過編譯,因為它冇有考慮到CompassPoint的全部成員。全麵性的要求確保了枚舉成員不會被意外遺漏。

當不需要匹配每個枚舉成員的時候,你可以提供一個默認default分支來涵蓋所有未明確被提出的任何成員:

let somePlanet = Planet.Earth
switch somePlanet {
case .Earth:
    println("Mostly harmless")
default:
    println("Not a safe place for humans")
}
// 輸出 "Mostly harmless”