Swift簡明教程(五)列舉與結構體

2021-06-22 08:13:30 字數 1406 閱讀 5623

使用enum關鍵字建立列舉型別。與類類似,列舉型別中一樣可以定義方法。

enum rank: int 

}}let ace = rank.ace

let acerawvalue = ace.torow()

試驗

編寫乙個函式用來比較兩個rank列舉值

在上面的**中,列舉型別的原始值是int型別,定義的時候只明確了第乙個,後面的依次遞增。當然也可以使用浮點數或者字串作為列舉型別的值。

使用torawfromraw可以在列舉型別和原始值之間進行轉換。

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

試驗

serverresponseswitch新增第三個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 如果未在列舉數列表中指定元素...