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