Swift - 枚举

枚举为一系列相关的值定义了一个公共的组类型,同时可以再类型安全的情况下去使用这些值。
(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("星期四")
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 枚举为一组相关的值定义了一个共同的类型,使得可以在代码中以类型安全的方式来使用这些值。 如果熟悉 C 语言,会知道...
    穷人家的孩纸阅读 900评论 1 4
  • Swift中不仅提供了 面向过程的编程支持,也提供了全面的面向对象的支持,与普通的面向对象的编程语言(只支持类)不...
    随梦而飞飞阅读 5,272评论 3 4
  • 枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合。 Swi...
    零度_不结冰阅读 371评论 0 0
  • 本章将会介绍 闭包表达式尾随闭包值捕获闭包是引用类型逃逸闭包自动闭包枚举语法使用Switch语句匹配枚举值关联值原...
    寒桥阅读 1,627评论 0 3
  • 枚举定义一组相关值的公共类型,并允许您在代码中以类型安全的方式使用这些值。 如果你熟悉C,你会知道C枚举分配相关的...
    Joker_King阅读 295评论 0 0

友情链接更多精彩内容