// 枚举
// 在Swift语言中枚举类型的成员初始的时候不会被默认赋值成整数值
// 关键字case是用来标明这一行将要定义一个新的成员变量
enum AgeRange {
case 正太
case 骚年
case 大叔
case 大爷
}
// 多个成员还可以用一行来定义,他们之间用逗号分割
enum Dict {
case A,B,C,D
}
// 当被赋值为枚举类型时,变量类型就可以被推测出
// 那么就可以简短的使用逗号表达式来给它赋值成其他的值
// 一个switch语句被用到判断枚举值的时候,必须要包括所有的枚举成员
let value = AgeRange.骚年
func testEnum(){
switch value {
case .正太:
println("正太")
case .骚年:
println("骚年")
case .大叔:
println("大叔")
default:
println("大爷")
}
}
// 在Swift中,当定义一个枚举成员的时候,可以给他关联任何的类型
enum Barcode {
case UPCA(Int, Int, Int)
case QRCode(String)
}
// 注意要在外部声明不然报错
var productBarcode = Barcode.UPCA(8, 85909_51226, 3)
func testEnumConn() {
productBarcode = .QRCode("ABCDEFGHIJKLMNOP")
switch productBarcode {
case let .UPCA(a,b,c):
println("UPCA:\(a),\(b),\(c)")
case let .QRCode(a):
println("QRCode:\(a)")
default:
println("......")
}
}