使用enum
關鍵字建立列舉型別。與類類似,列舉型別中一樣可以定義方法。
enum rank: int
}}let ace = rank.ace
let acerawvalue = ace.torow()
在上面的**中,列舉型別的原始值是試驗編寫乙個函式用來比較兩個
rank
列舉值
int
型別,定義的時候只明確了第乙個,後面的依次遞增。當然也可以使用浮點數或者字串作為列舉型別的值。
使用toraw
和fromraw
可以在列舉型別和原始值之間進行轉換。
if let convertedrank = rank.fromraw(3)
列舉型別成員的值是乙個實際的值,而不僅僅是他們原始值的另外一種寫法。事實上,你可以不提供有意義的原始值。
enum suit
}}let hearts = suit.hearts
let heartsdescription = hearts.******description()
試驗給
suit
新增乙個color
方法,當列舉值為spades
或者clubs
的時候返回」black」,否則返回」red」。
每個列舉成員都可以關聯一些值。同乙個列舉型別的例項成員都能夠關聯不同的值。在建立列舉型別的例項時可以給列舉成員關聯上一些值。關聯的值與原始的值不一樣:同乙個列舉型別的所有成員中,原始值都是一樣的,在定義列舉型別的時候就已經確定了。
例如從伺服器上獲取日落和日出的實際。伺服器會返回正確的資訊或者出錯。
enum serverresponse
let success = serverresponse.result("6:00 am", "8:09 pm")
let failure = serverresponse.error("out of cheese")
switch success
試驗給
serverresponse
的switch
新增第三個case
分支。
Swift簡明教程(六)協議與擴充套件
使用protocol關鍵字宣告協議。protocol exampleprotocol mutating func adjust 類 列舉和結構體都能夠響應協議。class class exampleprotocol var a class a.adjust let adescription a.de...
演算法與資料結構 2 列舉
列舉法又稱窮舉法,它是根據題意,列舉所有可能狀態,並用問題給定的條件來約束狀態,檢驗哪些是需要的,哪些是不需要的。迴圈 判斷語句,列舉幾個變數就迴圈幾次 設ai1 狀態元素ai的最小值 aik 狀態元素ai的最大值 1 i n 即a11 a1 a1k,a21 a2 a2k,ai1 ai aik,an...
C 程式語言(六) 列舉型別與結構型別
列舉型別 列舉型別 也稱為列舉 為定義一組可以賦給變數的命名整數常量提供了一種有效的方法。例如,假設您必須定義乙個變數,該變數的值表示一周中的一天。該變數只能儲存七個有意義的值。若要定義這些值,可以使用列舉型別。列舉型別是使用 enum 關鍵字宣告的。enum days 如果未在列舉數列表中指定元素...