Junior — Middle
Czy można użyć własnego typu danych jako klucza do słownika lub tablicy haszującej?
sobes.tech AI
Odpowiedź od AI
В Swift можно использовать собственные типы данных в качестве ключей для словаря (Dictionary), но при этом тип должен соответствовать протоколу Hashable. Это означает, что ваш тип должен уметь вычислять хэш-значение и корректно реализовывать сравнение на равенство.
Пример:
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Иван")] = "Разработчик"
Если ваш тип не соответствует Hashable, то его нельзя использовать в качестве ключа словаря.