Swift递归枚举简介 官网
递归枚举是一种特殊枚举,它允许枚举的某个成员以该枚举类型作为关联值。在 Swift 里,递归枚举可用于表示有递归结构的数据,像表达式树。 // 定义一个简单的递归枚举来表示算术表达式indirect enum ArithmeticExpression { case number(Int) case addition(ArithmeticExpression, ArithmeticExpression) case multiplication(ArithmeticExpression, ArithmeticExpression)} 上面代码定义了一个递归枚举 `ArithmeticExpression`,它能表示数字、加法和乘法表达式。 使用 `indirect` 关键字来声明递归枚举,这样编译器才知道如何处理递归情况。