Sobes.tech
Junior — Middle

Ist es möglich, eine Struktur oder einen Datentyp zu erstellen, der einer Menge in der Programmiersprache Go ähnelt?

sobes.tech KI

Antwort von AI

In der Programmiersprache Go gibt es keinen eingebauten "Mengen"-Typ (set), aber er kann durch eine Karte (map) mit Schlüsseln des gewünschten Typs und Werten vom Typ struct{} oder bool implementiert werden. Die Verwendung von struct{} spart Speicher, da die leere Struktur keinen Platz einnimmt.

Beispiel für die Implementierung einer Menge von Strings:

// Erstellen einer Menge von Strings
set := make(map[string]struct{})

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

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

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

Auf diese Weise modelliert eine Karte mit Schlüsseln und leeren Werten effektiv eine Menge.