枚舉

//{

//? ? enum Direction {

//? ? ? ? case north

//? ? ? ? case south

//? ? ? ? case east

//? ? ? ? case west

//? ? }

//}

//等同上面的寫法

importFoundation

enum Direction {

? ? case north, south, east, west

}

vardir= Direction.north

dir= .east

print(dir)

//關(guān)聯(lián)值 將枚舉成員值和其他類型的值關(guān)聯(lián)在一起

enum Score {

? ? casepoints(Int)

? ? case grade(Character)

}

varscore= Score.points(10)

score= .grade("A")

switch score {

caselet.points(i):

? ? print("poits\(i)")

caselet.grade(i):

? ? print("grade\(i)")

}

enum Date {

? ? casedigit(year:Int, month:Int,day:Int)

? ? casestring(String)

}

vardate=Date.digit(year:2022, month:1, day:25)

date = .string("2022-1-25")

switch date {

case.digit(letyear,letmonth,letday):

? ? print(year,month,day)

caselet.string(value):

? ? print(value)

}

//原始值

enum PokerSuit : Character {

casespade ="??"

caseheart ="??"

casediamond ="??"

caseclub ="??"


}

varsuit= PokerSuit.heart

print(suit,suit.rawValue,PokerSuit.club.rawValue)

/*隱式原始值(int string 類型swift會(huì)自動(dòng)分配原始值)

?enum Direction : String{

?? ? case north = "north"

?? ? case south = "south"

?? ? case east = "east"

?? ? case west = "west"

?}

?//等同上面的寫法

?enum Direction : String{

?? ? case north, south, east, west

?}

?print(Direction.north)

?print(Direction.north.rawValue)

?*/

//遞歸枚舉 (常用)

indirect enum ArithExpr {

? ? casenumber(Int)

? ? casesum(ArithExpr,ArithExpr)

? ? casedifference(ArithExpr,ArithExpr)

}

//等同上面寫法

//enum ArithExpr {

//? ? case number(Int)

//? indirect case sum(ArithExpr,ArithExpr)

//? indirect case difference(ArithExpr,ArithExpr)

//}

letfive= ArithExpr.number(5)

letfour= ArithExpr.number(4)

letthree= ArithExpr.number(3)

letsum= ArithExpr.sum(five, four)

letdifference= ArithExpr.difference(three,sum)

funccalculate(_expr : ArithExpr) ->Int{

? ? switchexpr {

? ? caselet.number(value1):

? ? ? ? returnvalue1

? ? caselet.sum(left1, right1):

? ? ? ? returncalculate(left1) + calculate(right1)

? ? caselet.difference(left1, right1):

? ? ? ? returncalculate(left1) - calculate(right1)

? ? }

}

calculate(difference)

//MemoryLayout 獲取占用數(shù)據(jù)類型的內(nèi)存大小

enum Password {

? ? case number(Int,Int,Int,Int)

? ? caseother

}

MemoryLayout<Password>.size? ? //33 實(shí)際用到的空間大小 32(8*4)關(guān)聯(lián)值的內(nèi)存 + 1(枚舉的內(nèi)存)

MemoryLayout.stride? //40 分配占用的空間大小

MemoryLayout<Password>.alignment//8? 對(duì)齊參數(shù)

enum Season : Int{

? ? case spring = 8 ,summer, autumn

}

MemoryLayout.size? ? //1 實(shí)際用到的空間大小

MemoryLayout.stride? //1 分配占用的空間大小

MemoryLayout<Password>.alignment//1? 對(duì)齊參數(shù)

/*

?枚舉內(nèi)存

?結(jié)論:

?如果枚舉有關(guān)聯(lián)值 那么內(nèi)存就是關(guān)聯(lián)值占用內(nèi)存大小 + 枚舉內(nèi)存(1)

?如果枚舉是原始值或者普通枚舉 那么內(nèi)存都是 1

?*/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末强饮,一起剝皮案震驚了整個(gè)濱河市蠕啄,隨后出現(xiàn)的幾起案子挺身,更是在濱河造成了極大的恐慌庄撮,老刑警劉巖醋拧,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畜晰,死亡現(xiàn)場(chǎng)離奇詭異西土,居然都是意外死亡陆错,警方通過查閱死者的電腦和手機(jī)魄揉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門剪侮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洛退,你說我怎么就攤上這事瓣俯。” “怎么了兵怯?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵彩匕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我媒区,道長(zhǎng)驼仪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任袜漩,我火速辦了婚禮绪爸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宙攻。我一直安慰自己毡泻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布粘优。 她就那樣靜靜地躺著仇味,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雹顺。 梳的紋絲不亂的頭發(fā)上丹墨,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音嬉愧,去河邊找鬼贩挣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛没酣,可吹牛的內(nèi)容都是我干的王财。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼裕便,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绒净!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起偿衰,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤挂疆,失蹤者是張志新(化名)和其女友劉穎改览,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缤言,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宝当,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胆萧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庆揩。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖跌穗,靈堂內(nèi)的尸體忽然破棺而出盾鳞,到底是詐尸還是另有隱情,我是刑警寧澤瞻离,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布腾仅,位于F島的核電站,受9級(jí)特大地震影響套利,放射性物質(zhì)發(fā)生泄漏推励。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一肉迫、第九天 我趴在偏房一處隱蔽的房頂上張望验辞。 院中可真熱鬧,春花似錦喊衫、人聲如沸跌造。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽壳贪。三九已至,卻和暖如春寝杖,著一層夾襖步出監(jiān)牢的瞬間违施,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工瑟幕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磕蒲,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓只盹,卻偏偏與公主長(zhǎng)得像辣往,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子殖卑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容