SWIFT Enumeration(2)

之前记录了Swift Enumeration(1),这篇算是它的延续吧,继续说下Enumeration,看以下定义

enum TrainStatus {

    case OnTime

    case Delay(Int) //带关联值

}

var myTrainStatus = TrainStatus.Delay(10)

用Switch 匹配对象

switch myTrainStatus{

case .OnTime:

    println("Train is ontime")

case .Delay(let minutes): 

    println("Train delays \(minutes) minutes")

}

匹配方式是有先后顺序的,上面中先匹配到Delay然后再给里面的minutes赋值,好下面我将演示区间匹配。

switch myTrainStatus{

case .OnTime://匹配准时

    println("Train is ontime")

case .Delay(1...5)://匹配1到5

    println("Train delays less than five minutes")

case .Delay(6...10)://匹配6到10

    println("Train delays between six and ten minutes")

case .Delay(_): //匹配其它,里面是下划线

    println("Train delays more than ten minutes")

}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。