Swift基礎--枚舉

一,枚舉的定義,結果和使用

枚舉定義了一個通用類型的一組相關的值,使咱們能夠在本身的代碼中以一個安全的方式來使用這些值。安全

枚舉的結構:bash

enum SomeEnumeration {
    // enumeration definition goes here
}
複製代碼

枚舉的使用:網站

// 定義枚舉
enum Direction {
    case east
    case south
    case west
    case north
}

// 調用枚舉
var direct = Direction.east
print("如今的方向是:\(direct)")
out:
如今的方向是:east
複製代碼

二,枚舉在switch語句中的使用

定義枚舉時,裏面的case看上去就是爲switch準備的,天生一對.ui

// 調用枚舉
var direct = Direction.east
switch direct {
case  Direction.east:
    do{
        print("如今的方向是:東")
    }
case Direction.south:
    do{
        print("如今的方向是:南")
    }
case Direction.west:
    do{
        print("如今的方向是:西")
    }
case Direction.north:
    do{
        print("如今的方向是:北")
    }
}
out:
如今的方向是:東
複製代碼

三,枚舉關聯值

咱們能夠定義Swift的枚舉存儲任何類型的相關值,若是須要,每一個成員的數據類型能夠是各不相同的。枚舉的這種特性與其餘語言中的可辨識聯合,標籤聯合,或變體類似。例如,假設一個庫存跟蹤系統須要利用兩種不一樣類型的條形碼來跟蹤商品。spa

var goods = Barcode.UPCA(8, 855, 11, 3)
goods = Barcode.QRCode("TEST")

switch goods {
case let .UPCA(first, second, third, forth):
    do{
        print("first is:\(first), second is \(second), third is \(third), forth is \(forth)")
    }

case let .QRCode(qr):
    do{
        print("qr is \(qr)")
    }
}
out:
qr is TEST
複製代碼

四,枚舉原始值

做爲性管制的替代物,枚舉成員能夠被默認值(原始值)預填充,這些原始值有相同的類型,如:.net

enum Animate: Int {
    case pig = 1
    case dog
    case bird
    case frog
}

print("dog 的初始值:\(Animate.dog.rawValue),hashValue:\(Animate.dog.hashValue)")
out:
dog 的初始值:2,hashValue:1

複製代碼

hi 各位大佬,若是您喜歡個人文章,能夠在如下平臺關注我

我的網站code

微博:順揚skyget

簡書:順揚sky博客

掘金:順揚skystring

CSDN博客

相關文章
相關標籤/搜索