10.25枚舉

importFoundation

//swift:枚舉

//不用跟整型數(shù)字關(guān)聯(lián),默認也沒有跟整型數(shù)字關(guān)聯(lián)

//可以跟任意類型關(guān)聯(lián),比如整型,浮點型,字符串。

/*

不跟任何數(shù)據(jù)關(guān)聯(lián)的枚舉格式

enum自定義的枚舉類型{

case枚舉值0

case枚舉值1

case枚舉值2

...

}

如果是關(guān)聯(lián)了數(shù)據(jù)的枚舉格式:

enum自定義的枚舉類型:關(guān)聯(lián)的數(shù)據(jù)類型(比如Int,Double,String){

case枚舉值0 =值0

case枚舉值1 =值1

...

}

*/

//c語言:枚舉作用:將一些有特定意義的英文跟數(shù)字一一對應(yīng)起來

enumMonth{

casejan

casefeb

casemar

caseapr

casemay

}

//如果枚舉值關(guān)聯(lián)的是整型值的話,后面的枚舉值會自動累加1

enumnumber:Int{

caseone =10

casetwo =20

casethree =30

casefour

casefive

}

//如果枚舉類型跟非整型值進行關(guān)聯(lián)的話,所有的枚舉值都應(yīng)該關(guān)聯(lián)上特定的value值

//注意”=“一定要是英文狀態(tài)下的

enumLength:Double{

caseshort =2.3

casemiddle =4.6

caselarge =6.9

}

enumGrade:String{

caseone ="First"

caseTwo ="Second"

caseThree ="Third"

}

//創(chuàng)建枚舉變量

letmonth0 =Month.jan

//如果明確了變量或者常量是屬于某一種枚舉類型,那么復(fù)制可以直接使用.枚舉值

letmonth1:Month= .feb

//hashValue跟枚舉值的排序有關(guān)

print(month0,month0.hashValue)

print(month1,month1.hashValue)

print("\n")

letnum0 =number.one

letnum1:number= .five

//枚舉值.rawValue訪問到枚舉值關(guān)聯(lián)的值(枚舉變量有關(guān)聯(lián)的時候才會出現(xiàn))

//枚舉值.hashValue訪問到的是該枚舉值在枚舉類型中的位置

print("num0 =\(num0),\(num0.hashValue),\(num0.rawValue)\n")

print("num1 =\(num1),\(num1.hashValue),\(num1.rawValue)\n")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容