枚举类型的常见定义方式
枚举类型的定义
方式一
enum MethodType1 {
case get
case post
case put
case delete
}
方式二
enum MethodType2 {
case get,
post,
put ,
delete
}
创建枚举具体的值
let type1 : MethodType1 = .get
let type2 = MethodType2.post
输出
使用 Switch 语句匹配枚举值
enum WeekDays {
case Monday,Tuesday,Wednesday,Thursday,Friday
}
func writeGreeting(day: WeekDays) {
switch day {
case .Monday:
print(
"周一")
case .Tuesday:
print(
"周二")
case .Wednesday:
print(
"周三")
case .Thursday:
print(
"周四")
case .Friday:
print(
"周五")
}
}
writeGreeting(day: .Monday)
给枚举类型绑定值
由于业务上的需求 ,要把每个成员提供某种具体的类型的默认值,为此 可以为枚举类型提供原始值声明,这些原始值得类型可以是字符、字符串、整型、浮点型等语法格式
enum 枚举名称 : 数据类型 {
case 成员名 = 默认值
}
代码示例
enum Week : Int {
case Monday =
0
case Tuseday =
1
case Wednesday =
2
case Thursday =
3
case Friday =
4
}
注意 : Week 的枚举类型的原始值类型为Int ,这就需要给每个成员赋值,这个值只能为Int类型
代码可以简写为
enum Week : Int {
case Monday =
0,Tuseday,Wednesday,Thursday,Friday
}
注意:这种写法给第一个成员赋值,后面的成员值会依次加 1 (仅限枚举类型为 Int 的枚举)
案例
func test(day : Week.RawValue) {
switch day {
case 0:
print(
"------")
default:
print(
"*******")
}
}
test(day: Week.Friday.rawValue)
Week.Friday.rawValue