【发布时间】:2021-12-08 06:52:46
【问题描述】:
Swift 文档说 Equatable 一致性的自动合成可用于结构和具有关联值的枚举,只有在结构或枚举的原始定义中声明了一致性,而不是通过扩展,在这种情况下必须提供== 运算符的实现。
但是,下面的代码可以工作。
struct Point {
var x: Double
var y: Double
}
extension Point: Equatable {}
print(Point(x: 10, y: 10) == Point(x: 5, y: 5)) // prints false
这个也是。
enum Outcome {
case success
case failure(reason: String)
}
extension Outcome: Equatable {}
print(Outcome.failure(reason: "Chance") == Outcome.failure(reason: "Chance")) // prints true
有谁知道此功能的文档记录在哪里。
谢谢。
【问题讨论】: