/

Swift 列舉

Swift 列舉

本教程屬於 Swift 系列教程

列舉是一種將不同選項分組在一個共同名稱下的方式。

示例:

1
2
3
4
5
6
enum Animal {
case dog
case cat
case mouse
case horse
}

這個 Animal 列舉現在是一個類型

這種類型的值只能是列出的其中一個選項。

如果你定義一個 Animal 類型的變數:

1
var animal: Animal

你可以稍後使用這種語法決定要給它賦予哪個值:

1
2
var animal: Animal
animal = .dog

我們可以在 switch 控制結構中使用列舉:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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")
}

列舉的值可以是字符串、字符或數字。

您還可以在一個線上定義一個列舉:

1
2
3
enum Animal {
case dog, cat, mouse, horse
}

您還可以在列舉中添加類型聲明,並為每個選項分配該類型的值:

1
2
3
4
5
6
enum Animal: Int {
case dog = 1
case cat = 2
case mouse = 3
case horse = 4
}

一旦你有一個變量,你可以使用其 rawValue 屬性來獲取這個值:

1
2
3
4
5
6
7
8
9
10
11
enum Animal: Int {
case dog = 1
case cat = 2
case mouse = 3
case horse = 4
}

var animal: Animal
animal = .dog

animal.rawValue //1

列舉是一個值類型。這意味著它們在傳遞給函數或從函數返回時被複製。當我們將一個指向列舉的變量賦值給另一個變量時也是如此。

tags: [“Swift”, “Enumerations”, “Switch”, “Value Type”]