Equatable은 스위프트의 프로토콜 중 하나로, 두 개의 값이 같은지 비교하기 위해 사용되는 프로토콜입니다.
Equatable 프로토콜을 준수하는 타입은 '=='연산자를 사용하여 두 값을 비교할 수 있습니다.
struct Point: Equatable {
var x: Int
var y: Int
}
let point1 = Point(x: 2, y: 3)
let point2 = Point(x: 2, y: 3)
let point3 = Point(x: 4, y: 5)
print(point1 == point2) // 출력: true
print(point1 == point3) // 출력: false
Equatable을 준수하는 타입을 정의할 때는 두 값이 같은지 비교하기 위한 '=='연산자를 구현해야합니다.
스위프트는 기본타입들에 대해 이미 Equatable을 구현해두어서 사용자 정의 타입에 대해서도 비교를 지원할 수 있게 해줍니다.
struct Person: Equatable {
var name: String
var age: Int
}
let person1 = Person(name: "Alice", age: 30)
let person2 = Person(name: "Alice", age: 30)
let person3 = Person(name: "Bob", age: 25)
print(person1 == person2) // 출력: true
print(person1 == person3) // 출력: false
참고(출처) : 개발하는 정대리