Sobes.tech
Junior — Middle

Ar galima naudoti savo duomenų tipą kaip raktą žodynui ar maišos lentelei?

sobes.tech AI

Atsakymas iš AI

Swift galite naudoti savo nuosavus duomenų tipus kaip raktus žodynui (Dictionary), tačiau tokiu atveju tipas turi atitikti Hashable protokolą. Tai reiškia, kad jūsų tipas turi būti pajėgus apskaičiuoti žymės reikšmę ir teisingai įgyvendinti lygybės palyginimą.

Pavyzdys:

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

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

Jei jūsų tipas neatitinka Hashable, jūs negalėsite jį naudoti kaip rakto žodyne.