Swift枚舉語法
枚舉語法
使用enum
關鍵詞並且把它們的整個定義放在一對大括號內:
enum SomeEnumeration {
// enumeration definition goes here
}
以下是指南針四個方向的一個例子:
enum CompassPoint {
case North
case South
case East
case West
}
一個枚舉中被定義的值(例如 North
,South
,East
和West
)是枚舉的成員值(或者成員)。case
關鍵詞表明新的一行成員值將被定義。
注意:
不像 C 和 Objective-C 一樣,Swift 的枚舉成員在被創建時不會被賦予一個默認的整數值。在上麵的CompassPoints
例子中,North
,South
,East
和West
不是隱式的等於0
,1
,2
和3
。相反的,這些不同的枚舉成員在CompassPoint
的一種顯示定義中擁有各自不同的值。
多個成員值可以出現在同一行上,用逗號隔開:
enum Planet {
case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Nepturn
}
每個枚舉定義了一個全新的類型。像 Swift 中其他類型一樣,它們的名字(例如CompassPoint
和Planet
)必須以一個大寫字母開頭。給枚舉類型起一個單數名字而不是複數名字,以便於讀起來更加容易理解:
var directionToHead = CompassPoint.West
directionToHead
的類型被推斷當它被CompassPoint
的一個可能值初始化。一旦directionToHead
被聲明為一個CompassPoint
,你可以使用更短的點(.)語法將其設置為另一個CompassPoint
的值:
directionToHead = .East
directionToHead
的類型已知時,當設定它的值時,你可以不再寫類型名。使用顯示類型的枚舉值可以讓代碼具有更好的可讀性。