位置:首頁 > 高級語言 > Swift教學 > Swift枚舉語法

Swift枚舉語法

枚舉語法

使用enum關鍵詞並且把它們的整個定義放在一對大括號內:

enum SomeEnumeration {
  // enumeration definition goes here
}

以下是指南針四個方向的一個例子:

enum CompassPoint {
  case North
  case South
  case East
  case West
}

一個枚舉中被定義的值(例如 NorthSouthEastWest)是枚舉的成員值(或者成員)。case關鍵詞表明新的一行成員值將被定義。


注意:
不像 C 和 Objective-C 一樣,Swift 的枚舉成員在被創建時不會被賦予一個默認的整數值。在上麵的CompassPoints例子中,NorthSouthEastWest不是隱式的等於0123。相反的,這些不同的枚舉成員在CompassPoint的一種顯示定義中擁有各自不同的值。
 

多個成員值可以出現在同一行上,用逗號隔開:

enum Planet {
  case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Nepturn
}

每個枚舉定義了一個全新的類型。像 Swift 中其他類型一樣,它們的名字(例如CompassPointPlanet)必須以一個大寫字母開頭。給枚舉類型起一個單數名字而不是複數名字,以便於讀起來更加容易理解:

var directionToHead = CompassPoint.West

directionToHead的類型被推斷當它被CompassPoint的一個可能值初始化。一旦directionToHead被聲明為一個CompassPoint,你可以使用更短的點(.)語法將其設置為另一個CompassPoint的值:

directionToHead = .East

directionToHead的類型已知時,當設定它的值時,你可以不再寫類型名。使用顯示類型的枚舉值可以讓代碼具有更好的可讀性。