01-枚举的基本使用
enum 方向 {
case 东
case 西
case 南
case 北
}
var 旅行方向 = 方向.南
旅行方向 = .北
enum 行星 {
case 水星,金星,地球,火星,木星,土星,天王星,海王星
}
let 宇宙旅行起点 = 行星.地球
let 宇宙旅行终点 = 行星.火星
02-switch语句匹配枚举值
enum 方向 {
case 东
case 西
case 南
case 北
}
var 旅行方向 = 方向.南
switch 旅行方向 {
case .东:
println("向东旅行")
case .西:
println("向西旅行")
case .南:
println("向南旅行")
case .北:
println("向北旅行")
}
enum 行星 {
case 水星,金星,地球,火星,木星,土星,天王星,海王星
}
let 宇宙旅行终点 = 行星.火星
switch 宇宙旅行终点 {
case .土星:
println("有美丽的光环")
default:
println("没有光环")
}
03-枚举的关联值
enum 条形码 {
case 一维码(Int, Int, Int, Int)
case 二维码(String)
}
var 某商品 = 条形码.一维码(1, 12345, 45678, 9)
某商品 = 条形码.二维码("奶茶")
switch 某商品 {
case let .一维码 (系统位, 厂商位, 商品位, 校验位):
println("\(系统位) \(厂商位) \(商品位) \(校验位)")
case let .二维码 (商品名称):
println(商品名称)
}
04-枚举的原始值
enum 行星: Int {
case 水星 = 1,金星,地球,火星,木星,土星,天王星,海王星
}
let 某行星 = 行星.天王星
某行星.rawValue
let 行星位置 = 6
if let 临时行星 = 行星(rawValue: 行星位置) {
switch 临时行星 {
case .土星:
println("有美丽的光环")
default:
println("没有光环")
}
} else {
println("位置\(行星位置)没有行星")
}