Sobes.tech
Junior — Middle

É possível usar o seu próprio tipo de dado como chave para um dicionário ou tabela hash?

sobes.tech IA

Resposta da IA

Em Swift, pode usar os seus próprios tipos de dados como chaves para um dicionário (Dictionary), mas nesse caso, o tipo deve cumprir o protocolo Hashable. Isto significa que o seu tipo deve ser capaz de calcular um valor hash e implementar corretamente a comparação de igualdade.

Exemplo:

struct Person: Hashable {
    let id: Int
    let name: String
}

var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Иван")] = "Desenvolvedor"

Se o seu tipo não cumprir com Hashable, não poderá usá-lo como chave de um dicionário.