enum Beverage: CaseIterable {
case coffee, tea, juice
}
let numberOfChoices = Beverage.allCases.count
print("\(numberOfChoices) beverages available")
for tmpcase in Beverage.allCases {
print(tmpcase)
}
enum HttpResponse{
case success(Int,Data)
case fail(Int,Error)
}
//
var respoonse = HttpResponse.success(200,Data())
response = .fail(400,Error())
enum ASCIIControlCharacter: Character {
case tab = "\t"
case lineFeed = "\n"
case carriageReturn = "\r"
}
// 访问原始值
let c = ASCIIControlCharacter.tab.raw
// 指定第一个枚举值的原始值,其他原始值以递增1 的方式,隐式赋值;第一个原始值为指定,默认为0
enum Planet: Int {
case mercury = 1, venus, earth, mars, jupiter, saturn, uranus, neptune
}
// 每个枚举成员的隐式原始值为该枚举成员的名称。
enum CompassPoint: String {
case north, south, east, west
}
// 返回值则是枚举成员或 nil
let possiblePlanet = Planet(rawValue: 7)
//
enum ArithmeticExpression {
case number(Int)
indirect case addition(ArithmeticExpression, ArithmeticExpression)
indirect case multiplication(ArithmeticExpression, ArithmeticExpression)
}