枚举的关联值和原始值

关联值:

枚举中可以定义几种不同的类型,这些类型在使用时也可以绑定不同的数值。例如:

我们可以定义一个商品的编号:

enum Code{

case fourSection(Int,Int,Int,Int)

case stringSection(String)

}

在switch语句中可以进行相应的数据绑定:

var book = Code.fourSection(1, 1234, 5678, 0)

book = Code.stringSection("123456789")

switch book {

case .fourSection(let a,let b,let c,let d):

print("一维码:\(a)\(b)\(c)\(d)")

case .stringSection(let str):

print("二维码:\(str)")

}

原始值:

原始值是固定的,可以说是原来的枚举。而关联值不是固定的,应该说是加强版的枚举值。例如:

我们定义星球的编号:

enum Star:Int {

case earth = 1

case mars = 2

}

let myStar = Star.earth

switch myStar {

case .earth:

print("地球")

//打印值为1

print(Star.earth.rawValue)

case .mars:

print("火星")

print(Star.earth.rawValue)

}

你可能感兴趣的:(枚举的关联值和原始值)