枚举类型:给一组相关的值定义一个通用的类型
enum 方向 {
case 东
case 南
case 西
case 北
}
var 飘 = 方向.东
飘 = .北
enum 行星 {
case 水星,金星,地球,火星,木星,土星,天王星,海王星
}
let 卡西尼起点 = 行星.地球
let 卡西尼终点 = 行星.土星
switch 飘 {
case .东:
println(“我在东边”)
case .南:
println(“我在南边”)
case .西:
println(“我在西边”)
case .北:
println(“我在北边”)
}
飘 = .北
飘 = .东
飘 = .西
let 某行星 = 行星.土星
switch 某行星 {
case .土星:
println(“有美丽行星环的星球”)
default:
println(“没有行星环”)
}
枚举类型 — 关联值
enum 条形码 {
case 一维码(Int,Int,Int)
case 二维码(String)
}
var 某商品 = 条形码.一维码(8,23456,23412,3)
var 某商品 = 条形码.二维码(“麦当劳麦咖啡”)
switch 某商品 {
case let .一维码 (系统位,厂商位,校验位):
println(“您扫描的商品一维码是(系统位)(厂商位)(商品位)(校验位)”)
case .二维码 (let 商品名称):
println(“您扫描的商品是(麦当劳麦咖啡)”)
}
原始值 enum 行星 : Int { case 水星 = 1,海王星 } let 某行星 = 行星.天王星 某行星.toRaw() let 行星位置 = 6 行星.fromRaw(7) //返回一个optional类型,用值绑定 if let 某行星1 = 行星.fromRaw(行星位置){ switch 某行星1 { case .土星: println(“(行星位置)这个位置是有美丽光环的行星”) default: println(“(行星位置)位置的行星没有光环”) } } else { println(“在()这个位置是没有行星的”) }
@H_301_55@ 原文链接:https://www.f2er.com/swift/327034.html