Junior — Middle
98
¿Qué tipos de datos son válidos como clave para un diccionario o tabla hash?
Empresas donde se preguntó
Летуаль
Respuesta de la IA
sobes.tech AI
В iOS (Swift) ключом для словаря (Dictionary) может быть любой тип, который соответствует протоколу Hashable. Это значит, что ключ должен иметь возможность вычислять хэш-код и поддерживать сравнение на равенство.
Типы, которые по умолчанию соответствуют Hashable, включают:
- Стандартные типы:
Int,String,Double,Bool - Перечисления (
enum), если все их ассоциированные значения тожеHashable - Структуры (
struct), если все их свойстваHashable
Пример:
let dict: [String: Int] = ["apple": 3, "banana": 5]
Если вы хотите использовать свой собственный тип в качестве ключа, нужно реализовать протокол Hashable:
struct Person: Hashable {
let id: Int
let name: String
}
let peopleDict: [Person: String] = [Person(id: 1, name: "John"): "Developer"]