Swift 中的枚举 (enum)
程序员文章站
2022-04-11 17:06:22
...
枚举类型的常见定义方式
枚举类型的定义
- 方式一
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
上一篇: JavaScript的内存机制浅谈