Junior — Middle
Quali principi e requisiti devono essere considerati quando si crea una struttura o una classe che implementa il protocollo Equatable?
sobes.tech AI
Risposta dell'AI
Quando si implementa il protocollo Equatable in una struttura o classe, è necessario:
- Definire un metodo statico
==, che confronta due istanze del tipo e restituiscetruese sono considerate uguali. - Confrontare tutte le proprietà significative che influenzano l'uguaglianza degli oggetti.
- Garantire che il confronto sia simmetrico, riflessivo e transitivo.
Esempio di implementazione per una struttura:
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
}
}
Se tutte le proprietà sono già conformi a Equatable, il compilatore può generare automaticamente l'implementazione.