Swift - 枚舉

枚舉為一系列相關的值定義了一個公共的組類型,同時可以再類型安全的情況下去使用這些值。
(1)枚舉的定義和訪問
Swift中,也使用enum關鍵字來創(chuàng)建枚舉,語法格式如下

enum 枚舉名 {
    // 枚舉定義
}
enum WeekDays {
    case Monday
    case Tuesday
    case Wednesday
    case Thursday
}

從上面的代碼示例中可以看到,枚舉名以大寫字母開頭,使用case關鍵字定義了四個值,這些值代表這個枚舉的成員值。多個成員值也可以寫在一行,使用逗號隔開:

enum WeekDays {
    case Monday, Tuesday, Wednesday, Thursday
}

枚舉在被創(chuàng)建時,枚舉成員不會被賦予一個默認的整型值,如果給枚舉成員提供一個值,這個值被稱為原始值,而且該值的類型可以使字符串、字符、整型值、或者浮點數(shù)

來看下面訪問枚舉成員值的代碼:

var day = WeekDays.Monday

day的類型可以在WeekDays的某個值初始化時推斷出來,一旦day被聲明為WeekDays類型,就能夠使用更加簡短的點語法將其設置為另一個值:

day = .Tuesday

(2)原始值
上面提到,枚舉類型需要為其設置一個類型和初始值,下面的代碼可以一目了然:

enum WeekDays : Int {
    case Monday = 0
    case Tuesday = 1
    case Wednesday = 2
    case Thursday = 3
}

當然也可以有簡化寫法

enum WeekDays : Int {
    case Monday = 0, Tuesday, Wednesday, Thursday
}

(3)使用Switch語句匹配枚舉值
這個用法對于我們來說并不陌生,枚舉類型和switch可以很好地配合使用。

func writeGreeting(day : WeekDays) {
    switch day {
    case .Monday:
        print("星期一")
    case .Tuesday :
        print("星期二")
    case .Wednesday :
        print("星期三")
    case .Thursday :
        print("星期四")
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 枚舉為一組相關的值定義了一個共同的類型,使得可以在代碼中以類型安全的方式來使用這些值。 如果熟悉 C 語言,會知道...
    窮人家的孩紙閱讀 900評論 1 4
  • Swift中不僅提供了 面向過程的編程支持,也提供了全面的面向對象的支持,與普通的面向對象的編程語言(只支持類)不...
    隨夢而飛飛閱讀 5,272評論 3 4
  • 枚舉簡單的說也是一種數(shù)據(jù)類型,只不過是這種數(shù)據(jù)類型只包含自定義的特定數(shù)據(jù),它是一組有共同特性的數(shù)據(jù)的集合。 Swi...
    零度_不結冰閱讀 372評論 0 0
  • 本章將會介紹 閉包表達式尾隨閉包值捕獲閉包是引用類型逃逸閉包自動閉包枚舉語法使用Switch語句匹配枚舉值關聯(lián)值原...
    寒橋閱讀 1,627評論 0 3
  • 枚舉定義一組相關值的公共類型,并允許您在代碼中以類型安全的方式使用這些值。 如果你熟悉C,你會知道C枚舉分配相關的...
    Joker_King閱讀 296評論 0 0

友情鏈接更多精彩內容