我正在快速学习并阅读有关扩展中的运算符重载的主题,其中包括:
extension StreetAddress: Equatable {
static func == (lhs: StreetAddress, rhs: StreetAddress) -> Bool {
return
lhs.number == rhs.number &&
lhs.street == rhs.street &&
lhs.unit == rhs.unit
}
}
但是我怎么知道我需要采用 Equatable 呢?
我试图删除该协议,并且该功能的工作方式相同。不会报告任何警告或错误。为什么?