제라스의 iOS 공부/Swift 문법
[Swift 문법] Equatable 프로토콜
Xerath(제라스)
2023. 8. 19. 07:42
728x90
반응형
Equatable 프로토콜이란?
Equatable 프로토콜은 주어진 타입 간의 동일한 데이터를 가지는지 비교 연산을 구현하도록 하는 규약이다.
코드로 이해하는 Equatable 프로토콜
다음 코드를 보도록 하자.
import UIKit
struct Pet : Equatable{
let id: String
let name: String
static func == (lhs: Pet, rhs: Pet) -> Bool {
return lhs.id == rhs.id
}
// 사실 !=는 안적어도 된다. Equatable을 준수하면 !=는 ==의 반대 결과로 알아서 적용된다.
static func != (lhs: Pet, rhs: Pet) -> Bool {
return lhs.id != rhs.id
}
}
let myPet1 = Pet(id: "01", name: "고양이")
let myPet2 = Pet(id: "02", name: "댕댕이")
let myPet3 = Pet(id: "01", name: "개냥이")
//if myPet1.id == myPet3.id {
// print("두 팻은 같다")
//}
if myPet1 == myPet3 {
print("두 팻은 같다")
}
if myPet1 != myPet2 {
print("두 팻은 같지 않다")
}
Equatable을 사용 시 장점

728x90
반응형