Junior — Middle
Kas on võimalik luua struktuur või andmetüüp, mis sarnaneb kogumile Go keeles?
sobes.tech AI
Vastus AI-lt
Go keeles ei ole sisseehitatud "hulk" (set) tüüpi, kuid seda saab rakendada, kasutades kaarti (map) koos soovitud tüüpi võtmete ja struct{} või bool tüüpi väärtustega. struct{} kasutamine säästab mälu, kuna tühi struktuur ei võta ruumi.
Näide stringide hulga rakendamisest:
// Loome stringide hulga
set := make(map[string]struct{})
// Lisame elemendi
set["apple"] = struct{}{}
// Kontrollime, kas element on
if _, exists := set["apple"]; exists {
fmt.Println("Element on hulgas")
}
// Eemaldame elemendi
delete(set, "apple")
Sellisel viisil modelleerib kaart võtmete ja tühjade väärtustega tõhusalt hulka.