Sobes.tech
Junior — Middle

Възможно ли е реализирането на структура от данни Set в езика Go?

sobes.tech AI

Отговор от AI

В езика Go няма вградена структура от данни Set, но тя може да бъде реализирана с помощта на карта (map), където ключовете са от желания тип, а стойностите са от тип bool или празна структура struct{}.\n\nПример за реализиране на множество от низове:\n\ngo\npackage main\n\nimport "fmt"\n\nfunc main() {\n set := make(map[string]struct{})\n\n // Добавяне на елементи\n set["apple"] = struct{}{}\n set["banana"] = struct{}{}\n\n // Проверка за наличие на елемент\n if _, exists := set["apple"]; exists {\n fmt.Println("ябълката е в множеството")\n }\n\n // Премахване на елемент\n delete(set, "banana")\n}\n\n\nИзползването на празна структура struct{} вместо bool спестява памет, тъй като struct{} заема 0 байта.