美文网首页
Swift - 枚举

Swift - 枚举

作者: 汪小喵 | 来源:发表于2016-12-30 23:22 被阅读13次

    枚举为一系列相关的值定义了一个公共的组类型,同时可以再类型安全的情况下去使用这些值。
    (1)枚举的定义和访问
    Swift中,也使用enum关键字来创建枚举,语法格式如下

    enum 枚举名 {
        // 枚举定义
    }
    
    enum WeekDays {
        case Monday
        case Tuesday
        case Wednesday
        case Thursday
    }
    

    从上面的代码示例中可以看到,枚举名以大写字母开头,使用case关键字定义了四个值,这些值代表这个枚举的成员值。多个成员值也可以写在一行,使用逗号隔开:

    enum WeekDays {
        case Monday, Tuesday, Wednesday, Thursday
    }
    

    枚举在被创建时,枚举成员不会被赋予一个默认的整型值,如果给枚举成员提供一个值,这个值被称为原始值,而且该值的类型可以使字符串、字符、整型值、或者浮点数

    来看下面访问枚举成员值的代码:

    var day = WeekDays.Monday
    

    day的类型可以在WeekDays的某个值初始化时推断出来,一旦day被声明为WeekDays类型,就能够使用更加简短的点语法将其设置为另一个值:

    day = .Tuesday
    

    (2)原始值
    上面提到,枚举类型需要为其设置一个类型和初始值,下面的代码可以一目了然:

    enum WeekDays : Int {
        case Monday = 0
        case Tuesday = 1
        case Wednesday = 2
        case Thursday = 3
    }
    

    当然也可以有简化写法

    enum WeekDays : Int {
        case Monday = 0, Tuesday, Wednesday, Thursday
    }
    

    (3)使用Switch语句匹配枚举值
    这个用法对于我们来说并不陌生,枚举类型和switch可以很好地配合使用。

    func writeGreeting(day : WeekDays) {
        switch day {
        case .Monday:
            print("星期一")
        case .Tuesday :
            print("星期二")
        case .Wednesday :
            print("星期三")
        case .Thursday :
            print("星期四")
    }
    

    相关文章

      网友评论

          本文标题:Swift - 枚举

          本文链接:https://www.haomeiwen.com/subject/qjiuvttx.html