//创建姓氏枚举,和Objective-C不同,Swift枚举不会默认分配值 enum Surname { case 张 case 王 case 李 case 赵 } //创建一个枚举类型的变量 var myName = Surname.张 //如果可以自动推断出类型 则枚举类型可以省略 myName = .李 var myName2:Surname = .王
enum Number { case one(count:Int) case two(count:Int) case three(count:Int) case four(count:Int) } var num = Number.one(count: 5) switch num { //获取num的相关值 case Number.one(let count): print(count) default: print(num) } //如果一个枚举值所有的相关中都是常量,let关键字也可以提取到括号外面 switch num { //获取num的相关值 case let Number.one(count): print(count) default: print(num) }
enum Expression { //单值数据 case num(Int) //表示加 indirect为递归枚举关键字 indirect case add(Expression,Expression) //表示减 indirect case mul(Expression,Expression) } var exp1 = Expression.num(5) var exp2 = Expression.num(5) var exp3 = Expression.add(exp1, exp2) var exp4 = Expression.mul(exp1, exp3)