Sobes.tech
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.