Swift 入門 | 構造体、列挙型、タプル | 列挙型

enum は列挙型を意味する。複数の候補から 1 つの値を選ぶ場合に使う。

列挙型は enum キーワードで定義する。

enum 名前 {
    case 値1
    case 値2
    ... 省略 ...
}

enum の後に名前を指定し、波かっこの中に case を使って利用可能な値を記述する。1 つの case の後に複数の値をまとめて記述することもできる。

enum 名前 {
    case 値1, 値2, ...
}

列挙型の値は 名前.値 の形式で使用する。

列挙型には raw value を指定することもできる。

enum 名前 : 型 {
    case 値1 = rawValue
    case 値2 = rawValue
    ...
}

列挙型の名前の後に raw value の型を指定し、各値の後に等号(=)で raw value を割り当てる。rawValue プロパティで取得できる。

enum Janken {
    case Choki
   case Goo
    case Paa
}

enum じゃんけん : String {
    case Choki = "チョキ"
    case Goo = "グー"
    case Paa = "パー"
}

var me = Janken.Goo
var you = じゃんけん.Goo
print(me)
print(you.rawValue)

この例では 2 つの列挙型を定義して使っている。じゃんけん では各値に String 型の raw value を指定している。

Janken.Goo を出力すると Goo が表示される。一方、じゃんけん.Goo.rawValue を出力すると グー が表示される。