欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

输出
Swift 中的枚举 (enum)

使用 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