10.25枚举

2016-10-25  本文已影响0人  冰凡513

importFoundation

//swift:枚举

//不用跟整型数字关联,默认也没有跟整型数字关联

//可以跟任意类型关联,比如整型,浮点型,字符串。

/*

不跟任何数据关联的枚举格式

enum自定义的枚举类型{

case枚举值0

case枚举值1

case枚举值2

...

}

如果是关联了数据的枚举格式:

enum自定义的枚举类型:关联的数据类型(比如Int,Double,String){

case枚举值0 =值0

case枚举值1 =值1

...

}

*/

//c语言:枚举作用:将一些有特定意义的英文跟数字一一对应起来

enumMonth{

casejan

casefeb

casemar

caseapr

casemay

}

//如果枚举值关联的是整型值的话,后面的枚举值会自动累加1

enumnumber:Int{

caseone =10

casetwo =20

casethree =30

casefour

casefive

}

//如果枚举类型跟非整型值进行关联的话,所有的枚举值都应该关联上特定的value值

//注意”=“一定要是英文状态下的

enumLength:Double{

caseshort =2.3

casemiddle =4.6

caselarge =6.9

}

enumGrade:String{

caseone ="First"

caseTwo ="Second"

caseThree ="Third"

}

//创建枚举变量

letmonth0 =Month.jan

//如果明确了变量或者常量是属于某一种枚举类型,那么复制可以直接使用.枚举值

letmonth1:Month= .feb

//hashValue跟枚举值的排序有关

print(month0,month0.hashValue)

print(month1,month1.hashValue)

print("\n")

letnum0 =number.one

letnum1:number= .five

//枚举值.rawValue访问到枚举值关联的值(枚举变量有关联的时候才会出现)

//枚举值.hashValue访问到的是该枚举值在枚举类型中的位置

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

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

上一篇下一篇

猜你喜欢

热点阅读