Sobes.tech
Junior — Middle

Lehetséges-e a Set adatszerkezet megvalósítása a Go nyelvben?

sobes.tech MI

Válasz az MI-től

Go nyelvben nincs beépített halmaz (Set) adatstruktúra, de megvalósítható egy térkép (map) segítségével, ahol a kulcsok a kívánt típusúak, és értékek bool vagy üres struct{} típusúak.\n\nPélda egy string halmaz megvalósítására:\n\ngo\npackage main\n\nimport "fmt"\n\nfunc main() {\n set := make(map[string]struct{})\n\n // Elemek hozzáadása\n set["apple"] = struct{}{}\n set["banana"] = struct{}{}\n\n // Ellenőrzés, hogy egy elem létezik-e\n if _, exists := set["apple"]; exists {\n fmt.Println("az alma benne van a halmazban")\n }\n\n // Elem törlése\n delete(set, "banana")\n}\n\n\nAz üres struct{} használata a bool helyett memória megtakarítást eredményez, mivel a struct{} 0 bájtot foglal el.