Swift学习之枚举

枚举 enum 的简单用法

rawValue:原始值

enum director{
    case north
    case west
    case sourth
    case east
}

enum names{
    case iyaqi,wangdi,xiaoyu,wenwen
}


var someOneName = names.iyaqi
//如果已经将枚举的某个值赋给某个变量,也可以直接通过.加枚举的其他值赋给该变量
someOneName = .xiaoyu

enum BarCode{
    case UPCA(Int,Int,Int,Int)
    case QRCode(String)
}

var code = BarCode.UPCA(8, 8, 8, 8)
code = .QRCode("dadadsadadasd")

switch code{
case let .UPCA( one , two , three, four):
    print("\(code)")
case let .QRCode( barCode):
    print("\(code)")
}

enum asciiCharacter:Character{
    case Tab = "\t"
    case lineFeed = "\n"
    case CarriageReturn = "\r"
}


//定义一个联合枚举
indirect enum ArithmeticExpression{
    case num(Int)
    case add(ArithmeticExpression,ArithmeticExpression)
    case muti(ArithmeticExpression,ArithmeticExpression)

}

func evaluate(expression:ArithmeticExpression)->Int{
    switch expression{
    case .num(let value):
        return value

    case let .add(left, right):
        return evaluate(left) + evaluate(right)
    case .muti(let left, let right):
        return evaluate(left) * evaluate(right)
    }
}


var five = ArithmeticExpression.num(5)
var four = ArithmeticExpression.num(4)

var a = ArithmeticExpression.add(five, four)
evaluate(a)

a = ArithmeticExpression.muti(five, four)
evaluate(a)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值