Swift编程:类型、作用域与项目组织
1. 枚举的关联值与特性
关联值能够改变枚举的概念本质。没有关联值时,枚举代表抽象且常量的可能值列表;而带有关联值的枚举不同,即使两个实例属于同一情况,也不一定相等,因为每个情况可能有不同的关联值。这意味着枚举实际上是看待特定类型信息的一系列方式。
枚举的方法和属性
枚举与结构体非常相似,都可以有方法和属性。例如,为了改进 Distance 枚举,我们可以添加方法来获取不同度量系统下的距离值:
enum Distance {
case Imperial(feet: Int, inches: Double)
case Metric(meters: Double)
func meters() -> Double {
switch self {
case let .Imperial(feet, inches):
return Double(feet)*0.3048+inches*0.3048/12
case let .Metric(meters):
return meters
}
}
}
var distance1 = Distance.Imperial(feet: 6, inches: 2)
distance1.meters() // 1.8796
在这个 meters 方法中,我们通过
Swift类型与项目组织详解
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



