小编Ant*_*eve的帖子

swift:为什么重载“==”运算符时需要符合equatable?

我正在快速学习并阅读了有关扩展中运算符重载的主题,其中包括:

extension StreetAddress: Equatable {
    static func == (lhs: StreetAddress, rhs: StreetAddress) -> Bool {
        return
            lhs.number == rhs.number &&
            lhs.street == rhs.street &&
            lhs.unit == rhs.unit
    }
}
Run Code Online (Sandbox Code Playgroud)

但我怎么知道我需要采用 Equatable 呢?

我尝试删除该协议,并且该功能的工作原理相同。不会报告任何警告或错误。为什么?

overloading operators swift equatable

3
推荐指数
1
解决办法
7937
查看次数

标签 统计

equatable ×1

operators ×1

overloading ×1

swift ×1