Junior
Quais são os casos existentes na enumeração (enum)?
sobes.tech IA
Resposta da IA
Existem os seguintes casos na enumeração:
-
Casos de valor bruto: Associam-se a um valor específico do tipo base (Int, String, Character, Float). Os valores são definidos explicitamente ou gerados automaticamente para Int e String.
enum CompassPoint: String { case north = "N" case south // rawValue não especificado, por padrão será "south" case east = "E" case west = "W" } let direction = CompassPoint.north.rawValue // "N" -
Casos com valor associado: Podem ter valores relacionados de qualquer tipo, que fornecem contexto adicional ou dados. Não têm tipo base nem raw-value.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let productBarcode = Barcode.upc(8, 85909, 51226, 3) -
Casos recursivos: São marcados com a palavra-chave
indirecte permitem que a enumeração tenha valores relacionados do mesmo tipo de enumeração. São usados para representar estruturas de dados recursivas, como árvores.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))