SWfit學習4 列舉和結構體

2021-07-05 04:44:00 字數 1226 閱讀 4203

swift的列舉型別是一系列的值,不同於c語言中列舉型別是整數型別。每個列舉定義了個新的型別

使用 enum 建立列舉——注意 swift 的列舉可以關聯方法

enum

rank:int

}}

關於switch語句,必須是完備的。如上所示,如果沒有把所有case寫完整,那麼就需要加上default語句。如上**,會進入default語句。如果所有case都寫完整了,那麼可以不需要default語句。另外,不同與c語言等,swift語言的switch語句的case會自動break。

關聯列舉型別

注意 swift 的列舉可以關聯方法:

enum othertype
var type:othertype = .name("xd")

type = .point(4, 9)

switch type

初始值設定。初始值型別必須要一致

enum initalsettingtype:character

enum initalinttype:int//int型別列舉初始值會自動+1.類似c語言列舉

如果要訪問列舉型別的初始值,使用rawvalue方法。

let initvalue = initalinttype.tuesday

.rawvalue

println("\(initvalue)")

使用init(rawvalue:)反向查詢列舉型別值。

let emuevalue = initalinttype.init(rawvalue:4)
swift 使用 struct 關鍵字建立結構。結構支援構造器和方法這些類的特性。 結構和類的最大區別在於:結構的例項按值傳遞(passed by value), 而類的例項按引用傳遞(passed by reference)

struct card 

}

let threeofspades = card(rank: .three)

let threeofspadesdescription = threeofspades.******descripetion()

C 基礎 4 列舉

列舉和陣列 結構有些像。下面做個對比 列舉 enum 新型別名 陣列 資料型別 陣列名 元素個數 結構 struct 新型別名稱 列舉的不同之處在於,列舉量自己有自己的預設值,不同於陣列結構需要給成員 元素 賦值。比如,第乙個列舉量的值預設為0,第二個是1,第三個是2 以此類推。所以,如果定義時列舉...

Unity C 爆破計畫(六) 列舉和結構體

covers 列舉和結構體 列舉是一種有限集合。生活中的有限集合很多,比如 一周中每天的名稱 只有 7 種 生日對應的星座 只有 12 種 現在好像是 13 種了?這些事物都適合用列舉來描述。寫乙個列舉的例子 using system namespace enums class program 我們...

C 11學習(4) 列舉類

在現有的c 中有列舉型別,關鍵字為enum,然則它會存在三個問題 1.在那些不需要列舉型別表現為int型別時,它卻預設表現為int型別,這會導致錯誤發生。2.可轉換的列舉會使得他的列舉值在其周圍的 範圍內都是可見的,這可能會導致名字衝突。3.不可以指定列舉底層資料型別 只能是int型 這可能導致 不...