Junior — Middle
Hoe implementeer je een Set-gegevensstructuur in de programmeertaal Go?
sobes.tech AI
Antwoord van AI
In de programmeertaal Go bestaat geen ingebouwd Set-type, maar het kan worden geïmplementeerd met behulp van een kaart (map) met sleutels van het gewenste type en de waarde bool of een leeg struct{}. Bijvoorbeeld, een verzameling van strings kan als volgt worden gemaakt:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Elementen toevoegen
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Controleren of een element bestaat
if _, exists := set["apple"]; exists {
fmt.Println("apple zit in de verzameling")
}
// Element verwijderen
delete(set, "banana")
// Over elementen itereren
for key := range set {
fmt.Println(key)
}
}
Het gebruik van een lege structuur struct{} in plaats van bool bespaart geheugen, omdat het 0 bytes inneemt.