Sobes.tech
Junior — Middle

Kas võib Set kogumik sisaldada mis tahes tüüpi andmeid või on tüüpi piiranguid?

sobes.tech AI

Vastus AI-lt

Swiftis võib kogum Set sisaldada mis tahes tüüpi elemente, mis vastavad protokollile Hashable. See tähendab, et tüübid peavad suutma arvutada hash-koodi, et tagada elementide unikaalsus Set-is.

Luba tüübid:

  • Standardtüübid, nagu Int, String, Double — need juba vastavad Hashable-le.
  • Kasutaja määratud struktuurid või klassid, kui nad rakendavad Hashable protokolli.

Näide kasutaja määratud struktuurist, mis sobib Set-ks:

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

var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))

Kui tüüp ei vasta Hashable-le, ei saa seda Set-is kasutada.