• swift--枚举


    枚举

    enum CompassPoint {

        case north

        case south

        case east

        case west

    }

    var directionToHead = CompassPoint.west

    directionToHead = .east

    递归枚举indirect

    indirect enum ArithmeticExpression {

        case number(Int)

        case addition(ArithmeticExpression, ArithmeticExpression)

        case multiplication(ArithmeticExpression, ArithmeticExpression)

    }

    let five = ArithmeticExpression.number(5)

    let four = ArithmeticExpression.number(4)

    let sum = ArithmeticExpression.addition(five, four)

    let product = ArithmeticExpression.multiplication(sum, ArithmeticExpression.number(2))

    func evaluate(_ expression: ArithmeticExpression) -> Int {

        switch expression {

        case let .number(value):

            return value

        case let .addition(left, right):

            return evaluate(left) + evaluate(right)

        case let .multiplication(left, right):

            return evaluate(left) * evaluate(right)

        }

    }

    print(evaluate(product))//18

  • 相关阅读:
    Apache部署Django项目
    Docker
    常用算法
    Go之基本数据类型
    Go之流程控制
    Go基本使用
    Go安装与Goland破解永久版
    Linux
    详解java中的byte类型
    Linux统计文本中某个字符串出现的次数
  • 原文地址:https://www.cnblogs.com/huoran1120/p/6137942.html
Copyright © 2020-2023  润新知