【swift】15-0601 枚举类型

来源:互联网 发布:淘宝直通车管用吗 编辑:程序博客网 时间:2024/06/06 12:21

枚举类型:给一组相关的值定义一个通用的类型
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, 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(“在()这个位置是没有行星的”)
}

0 0
原创粉丝点击