Swift 中 Equatable 和 Comparable 协议的使用与自定义运算符
在编程中,值的比较是一项常见且重要的操作。在 Swift 里,基本类型都具备比较自身与同类型其他实例的能力,但对于自定义类型,我们需要借助 Equatable 和 Comparable 这两个协议来实现比较功能。
1. 比较的重要性及协议概述
在编程里,判断两个值是否相等,或者一个值与另一个值的大小关系是很关键的。Swift 的基本类型,像字符串、整数等,都能进行自我比较。这是因为值类型的实例代表着特定的值,我们期望这些值是可比较的。
为了让自定义值类型也能进行比较,Swift 提供了 Equatable 和 Comparable 两个协议。接下来,我们会详细介绍如何让自定义类型遵循这些协议。
2. 遵循 Equatable 协议
首先,我们创建一个尚未遵循 Equatable 协议的新类型 Point :
import Cocoa
var str = "Hello, playground"
struct Point {
let x: Int
let y: Int
}
这个 Point 结构体用于表示二维平面上的一个点,不过目前它还不知道如何判断两个实例是否相等。我们创建两个实例并尝试使用 == <
超级会员免费看
订阅专栏 解锁全文
3286

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



