Junior — Middle
Aké princípy a požiadavky je potrebné zvážiť pri vytváraní štruktúry alebo triedy, ktorá implementuje protokol Equatable?
sobes.tech AI
Odpoveď od AI
Pri implementácii protokolu Equatable v štruktúre alebo triede je potrebné:
- Definovať statickú metódu
==, ktorá porovnáva dva inštancie typu a vrátitrue, ak sú považované za rovné. - Porovnať všetky významné vlastnosti, ktoré ovplyvňujú rovnosť objektov.
- Zabezpečiť, aby porovnanie bolo symetrické, reflexívne a tranzitívne.
Príklad implementácie pre štruktúru:
struct User: Equatable {
let id: Int
let name: String
static func == (lhs: User, rhs: User) -> Bool {
return lhs.id == rhs.id && lhs.name == rhs.name
}
}
Ak všetky vlastnosti už zodpovedajú Equatable, kompilátor môže automaticky generovať implementáciu.