在Swift中,枚举中包含原始值,而类和结构中包含默认值。有什么不同?有人可以帮我解释一下吗?
例如枚举的原始值(来自Office Swift文档)
enum ASCIIControlCaracter: Character {
case Tab = "\t"
case LineFeed = "\n"
case CarriageReturn = "\r"
}
最佳答案
从Apple docs:
原始值
关联值中的条形码示例显示了
枚举可以声明它们存储不同的关联值
类型。作为关联值的替代,枚举案例可以
预先填充了默认值(称为原始值),这些默认值是
所有相同的类型。
所以我想是一样的。
另一方面,对于“默认值”,您可能是指未设置任何值的枚举情况的默认值,例如:
enum TestEnum: Int {
case A
case B
}
在这里,
TestEnum.A
的默认值是0
,TestEnum.B
的默认值是1
。原始值是指枚举实例的实际值(在枚举类型中,在本例中为
Int
):enum TestEnum: Int {
case A
case B = 3
}
在这里,
TestEnum.A
具有0
的默认值(也是原始值),而TestEnum.B
具有原始值3
(不再是默认值)。