码迷,mamicode.com
首页 > 编程语言 > 详细

Swift 学习笔记 enum 枚举类型

时间:2016-06-16 23:16:15      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

异端,异端啊,我感觉这是map吧?

技术分享
 1 enum ATMStatus {
 2     case Success(Int)
 3     case Error(String)
 4 }
 5 
 6 var balance = 200
 7 
 8 func withdraw(amount: Int) -> ATMStatus {
 9     if balance >= amount {
10         balance -= amount
11         return .Success(balance)
12     } else {
13         return .Error("QiongB")
14     }
15 }
16 
17 let result = withdraw(30)
18 
19 switch result {
20 case .Success:
21     //print(money)
22     print("I am here")
23     break
24 case let .Error(msg):
25     print(msg)
26     break
27 }
View Code

还可以递归包含,但是声明的enum前面要加indirect

 1 indirect enum Expression {
 2     case Number(Int)
 3     case Addition(Expression, Expression)
 4     case Multiply(Expression, Expression)
 5 }
 6 
 7 //(5 + 4) * 2
 8 let five = Expression.Number(5)
 9 let four = Expression.Number(4)
10 let sum = Expression.Addition(five, four)
11 let multi = Expression.Multiply(sum, four)
12 
13 func compute(expression: Expression) -> Int {
14     switch expression {
15     case let .Number(value):
16         return value
17     case let .Addition(left, right):
18         return compute(left) + compute(right)
19     case let .Multiply(left, right):
20         return compute(left) * compute(right)
21     }
22 }
23 
24 compute(multi)

 

学习进度缓慢,咸鱼

 

Swift 学习笔记 enum 枚举类型

标签:

原文地址:http://www.cnblogs.com/makejeffer/p/5592258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!