枚举的关联值与原始值
Swift 枚举支持关联值和原始值,扩展枚举的功能和表达力。
关联值(Associated Values)
关联值允许枚举每个成员携带不同类型的附加数据:
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
var productCode = Barcode.upc(8, 85909, 51226, 3)
productCode = .qrCode("ABCDEFGHIJKLMNOP")
`
使用 switch 提取关联值:
switch productCode {
case .upc(let numberSystem, let manufacturer, let product, let check):
print("UPC: \(numberSystem), \(manufacturer), \(product), \(check)")
case .qrCode(let code):
print("QR Code: \(code)")
}
原始值(Raw Values)
原始值是枚举成员固定的默认值,必须类型一致且唯一:
enum Planet: Int {
case mercury = 1, venus, earth, mars
}
print(Planet.earth.rawValue) // 输出 3
可以通过原始值初始化枚举:
if let planet = Planet(rawValue: 2) {
print(planet) // 输出 venus
}
关联值和原始值使枚举更强大,满足复杂数据场景需求。
相关内容
- 什么是 Swift? Swift 是 Apple 推出的现代编程语言,专为 iOS、macOS、watchOS 与 tvOS 应用开发而设计,语法简洁、安全高效,广泛应用于移动开发与...
- Swift 与 Objective-C 的比较 Swift 与 Objective-C 都是 Apple 推出的开发语言,前者强调安全与现代化,后者历史悠久且成熟。了解两者异同有助于更好地选择开发工具。
- 安装 Xcode 与 Playground 本章介绍如何安装 Xcode 和使用 Swift Playground 进行基础练习,适合 Swift 初学者快速上手,无需搭建复杂环境即可体验代码编写与运行。
- Swift 的发展历史和现状 Swift 作为 Apple 推出的现代编程语言,经历了快速的发展和演进,现已成为 iOS、macOS 等平台主流开发语言,拥有活跃的社区和广泛的应用。
- 变量与常量 本章介绍 Swift 中变量与常量的定义与使用,帮助理解数据存储与修改的基本概念,是掌握 Swift 编程的基础。
- 数据类型 本章讲解 Swift 中的基本数据类型,包括整数、浮点数、布尔值和字符串,帮助理解变量和常量的数据存储与操作方式。