Swift 中的枚举(Enum)

简介: Swift 中的枚举(Enum)

Swift 中的枚举(Enum)是一种强大的数据类型,它可以用来表示一组相关的值。每个枚举定义了一组相关的 cases,每个 case 可以有相关联的值。

以下是一个简单的枚举示例:

enum Color {
   
    case red
    case blue
    case green
    case custom RGBA(r: Int, g: Int, b: Int, a: Int)
}

在这个例子中,Color 枚举有四个 cases:redbluegreencustom。其中,custom case 有一个关联值元组 (r: Int, g: Int, b: Int, a: Int)

Swift 中的模式匹配主要用于在 switch 语句中匹配枚举 cases 或其他类型的值。以下是如何使用模式匹配处理上述枚举的例子:

let color: Color = .red

switch color {
   
case .red:
    print("The color is red.")
case .blue:
    print("The color is blue.")
case .green:
    print("The color is green.")
case .custom(let r, let g, let b, let a):
    print("The color is custom with RGB values \(r), \(g), \(b) and alpha value \(a).")
}

在这个例子中,switch 语句根据 color 的值进行模式匹配。对于每个 case,我们提供了相应的代码块来处理匹配的情况。对于 .custom case,我们使用了模式匹配中的解构绑定(destructuring binding)来获取其关联值。

注意,Swift 的 switch 语句要求穷尽所有可能的 cases,除非你明确标记某个 case 为默认情况或者使用 default case。这有助于避免遗漏某些情况并提高代码的健壮性。

此外,Swift 还支持 if 和 guard 语句中的模式匹配,但这些情况下通常不涉及枚举的匹配。例如:

if case .red = color {
   
    print("The color is red.")
}

在这个例子中,if 语句使用模式匹配来检查 color 是否等于 .red。如果相等,则执行代码块。

目录
相关文章
|
Swift
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
346 0
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
|
存储 编译器 Swift
Swift-进阶 08:枚举enum
Swift-进阶 08:枚举enum
556 1
Swift-进阶 08:枚举enum
|
存储 编译器
Swift5.1—递归枚举
Swift5.1—递归枚举
132 0
|
存储 安全 Swift
Swift5.1—枚举
Swift5.1—枚举
101 0
Swift - Enum枚举 源码分析
Swift - Enum枚举 源码分析
 Swift - Enum枚举 源码分析
|
存储 JSON 算法
Swift 与 OC 枚举的异同
Swift 与 OC 枚举的异同
Swift 与 OC 枚举的异同
|
自然语言处理 Swift iOS开发
Swift讲解专题九——枚举
Swift讲解专题九——枚举
68 0
|
安全 Swift iOS开发
15.Swift学习之枚举
枚举介绍 概念介绍 枚举定义了一个通用类型的一组相关的值,可以在代码中以一个安全的方式来使用这些值 Swift中的枚举是一等类型, 它可以像类和结构体一样增加属性和方法 在 C/OC 语言中枚举指定相关名称为一组整型值,而Swift 中的枚举更加...
881 0
|
存储 编译器 Swift
swift4.1 系统学习十二 枚举
/* 枚举 swift的枚举类型也是一个很强大的类型,与其他语言相比,swift中枚举应用更加灵活、广泛。 例如: 像C或者OC中都有枚举类型,但是他们的枚举类型默认为整数类型int兼容。
912 0

相关课程

更多