Junior — Middle
Je možné implementovat datovou strukturu Set v jazyce Go?
sobes.tech AI
Odpověď od AI
V jazyce Go neexistuje vestavěná datová struktura Set, ale lze ji implementovat pomocí mapy (map) s klíči požadovaného typu a hodnotami typu bool nebo prázdné struktury struct{}.\n\nPříklad implementace množiny řetězců:\n\ngo\npackage main\n\nimport "fmt"\n\nfunc main() {\n set := make(map[string]struct{})\n\n // Přidání prvků\n set["apple"] = struct{}{}\n set["banana"] = struct{}{}\n\n // Kontrola, zda prvek existuje\n if _, exists := set["apple"]; exists {\n fmt.Println("jablko je v množině")\n }\n\n // Odstranění prvku\n delete(set, "banana")\n}\n\n\nPoužití prázdné struktury struct{} místo bool šetří paměť, protože struct{} zabírá 0 bajtů.