任何遵循Equatable的類型,都需要實(shí)現(xiàn)方法static func ==(lhs: Self, rhs: Self) -> Bool在這個(gè)方法內(nèi)按照指定的值和值間對比關(guān)系返回true或是false,外部表現(xiàn)為==或是!=的結(jié)果
struct Human: Equatable {
var name: String
var age = 5
static func == (lhs: Self, rhs: Self) -> Bool {
return lhs.name == rhs.name
}
}
let tom = Human(name: "tom", age: 5)
let tim = Human(name: "tim", age: 6)
tom == tim // false
let man1 = Human(name: "tom", age: 5)
let man2 = Human(name: "tom", age: 6)
man1 == man2 // true