本教程屬於 Swift 系列教程
列舉是一種將不同選項分組在一個共同名稱下的方式。
示例:
enum Animal {
case dog
case cat
case mouse
case horse
}
這個 Animal
列舉現在是一個類型。
這種類型的值只能是列出的其中一個選項。
如果你定義一個 Animal
類型的變數:
var animal: Animal
你可以稍後使用這種語法決定要給它賦予哪個值:
var animal: Animal
animal = .dog
我們可以在 switch 控制結構中使用列舉:
enum Animal {
case dog
case cat
case mouse
case horse
}
let animal = Animal.dog
switch animal {
case .dog: print("dog")
case .cat: print("cat")
default: print("another animal")
}
列舉的值可以是字符串、字符或數字。
您還可以在一個線上定義一個列舉:
enum Animal {
case dog, cat, mouse, horse
}
您還可以在列舉中添加類型聲明,並為每個選項分配該類型的值:
enum Animal: Int {
case dog = 1
case cat = 2
case mouse = 3
case horse = 4
}
一旦你有一個變量,你可以使用其 rawValue
屬性來獲取這個值:
enum Animal: Int {
case dog = 1
case cat = 2
case mouse = 3
case horse = 4
}
var animal: Animal
animal = .dog
animal.rawValue //1
列舉是一個值類型。這意味著它們在傳遞給函數或從函數返回時被複製。當我們將一個指向列舉的變量賦值給另一個變量時也是如此。