【Swift4】(7) 枚举 | 应用

版权声明:转载请注明出处!喜欢就 关注一下 or 右上角点赞 鼓励一下呗^_^ https://blog.csdn.net/ImagineCode/article/details/83185551

枚举基本使用

表述一组值

枚举相当于创建了一种新的数据类型,而类型的取值由里面的case值进行表征

enum CompassPoint { // 大写开头
    case north,west,east,south
}

enum GameEnding {
    case Win
    case Lose
    case Draw
}

var yourScore:Int  = 100
var enemyScore:Int = 100

var thisGameEnding:GameEnding
if yourScore > enemyScore {thisGameEnding = GameEnding.Win}
else if yourScore == enemyScore {thisGameEnding = GameEnding.Draw}
else {thisGameEnding = .Lose}  //可省略GameEnding
switch thisGameEnding
{
case .Win: print("win") 
case .Draw: print("Draw")
case .Lose: print("Lose")
}
enum VowleCharacter:Character {
    case A = "a"
    case E = "e"
    case I = "i"
    case O = "o"
    case U = "u"
}

let vowelA = VowleCharacter.A

var userInputCharacter:Character = "a"
if userInputCharacter == vowelA.rawValue
{
    print("it is an 'a'")   //"it is an 'a'\n"
}else {
    print("it is not an 'a'")
}

灵活使用


enum Barcode {
    case UPCA(Int,Int,Int,Int)
    case QRCode(String)   //将枚举变量QRCode关联为String类型
}

let productCodeA = Barcode.UPCA(4, 102, 306, 8)
let productCodeB = Barcode.QRCode("This is a infomation")

switch productCodeA {
case .UPCA(let numberSystem,let manufacture,let identifier,let check):
    print("UPC-A with value of \(numberSystem), \(manufacture), \(identifier),\(check).")   //"UPC-A with value of 4, 102, 306,8.\n"
case .QRCode(let productCode):
    print("QRCode with value of \(productCode).")
}

猜你喜欢

转载自blog.csdn.net/ImagineCode/article/details/83185551