import UIKit enum Trade { case Buy(stock:String,amount:Int) case Sell(stock:String,amount:Int) } let trade = Trade.Buy(stock: "003100", amount: 100) switch trade { case .Buy(let stock,let amount): print("stock:\(stock),amount:\(amount)") case .Sell(let stock,let amount): print("stock:\(stock),amount:\(amount)") }
定义了一个名为Trade
的枚举,其中包含两种情况:Buy
和Sell
。Buy
情况有两个关联值,stock
和amount
,而Sell
情况也有两个关联值,stock
和amount
。
然后,你使用值Trade.Buy(stock: "003100", amount: 100)
创建了一个Trade
的实例。
接下来,你有一个switch
语句,匹配trade
的值。如果值是Buy
,则使用let
绑定语法将关联值绑定到常量stock
和amount
,然后打印包含这些值的消息。如果值是Sell
,则使用let
绑定语法将关联值绑定到常量stock
和amount
,然后打印包含这些值的消息。
在这种情况下,由于trade
的值为Trade.Buy(stock: "003100", amount: 100)
,将打印的消息为:"stock:003100,amount:100"。