枚举
在 Swift 中,枚举(enum
)是一种自定义数据类型,允许定义一组相关的值。枚举可以具有附加的值(关联值)和方法,非常灵活和强大。以下是 Swift 中枚举的一些基本概念和示例:
基本语法
enum Direction {
case north
case south
case east
case west
}
使用枚举
你可以通过以下方式使用枚举:
let currentDirection = Direction.north
switch currentDirection {
case .north:
print("Heading North")
case .south:
print("Heading South")
case .east:
print("Heading East")
case .west:
print("Heading West")
}
关联值
枚举可以有关联值,允许存储额外的信息:
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
var productBarcode = Barcode.upc(123, 456, 789, 0)
switch productBarcode {
case .upc(let number1, let number2, let number3, let number4):
print("UPC: \(number1) \(number2) \(number3) \(number4)")
case .qrCode(let code):
print("QR Code: \(code)")
}
原始值
枚举也可以定义原始值,所有的枚举成员可以具有相同类型的原始值:
enum Planet: Int {
case mercury = 1
case venus
case earth
case mars
}
let earthOrder = Planet.earth.rawValue // 3
递归枚举
枚举也可以是递归的,这意味着它可以包含自身的实例:
enum ArithmeticExpression {
case number(Int)
indirect case addition(ArithmeticExpression, ArithmeticExpression)
indirect case multiplication(ArithmeticExpression, ArithmeticExpression)
}
let expression = ArithmeticExpression.addition(
.number(2),
.multiplication(.number(3), .number(4))
)
总结
1、基本的列举
2、关联至
3、递归枚举
Last updated