Sobes.tech
Junior — Middle

Wie kann man eine Datenstruktur Set in der Programmiersprache Go implementieren?

sobes.tech KI

Antwort von AI

In der Programmiersprache Go gibt es keinen eingebauten Set-Typ, aber er kann mit Hilfe einer Karte (map) mit Schlüsseln des gewünschten Typs und dem Wert bool oder einer leeren Struktur struct{} implementiert werden. Zum Beispiel kann eine Menge von Strings so erstellt werden:

package main

import "fmt"

func main() {
    set := make(map[string]struct{})

    // Elemente hinzufügen
    set["apple"] = struct{}{}
    set["banana"] = struct{}{}

    // Überprüfung, ob ein Element vorhanden ist
    if _, exists := set["apple"]; exists {
        fmt.Println("apple ist in der Menge")
    }

    // Element entfernen
    delete(set, "banana")

    // Elemente durchgehen
    for key := range set {
        fmt.Println(key)
    }
}

Die Verwendung einer leeren Struktur struct{} anstelle von bool spart Speicher, da sie 0 Byte belegt.