Назад к вопросам
Middle+
4
Какой тип использовать для реализации set в Go?
Компании, где спрашивали
ТБанк
Ответ от нейросети
sobes.tech AI
В Go нет встроенного типа set, но его можно реализовать с помощью карты (map) с ключами нужного типа и значением bool или пустой структурой struct{}.
Пример реализации множества строк:
// Объявляем set как map[string]struct{}
set := make(map[string]struct{})
// Добавление элемента
set["apple"] = struct{}{}
// Проверка наличия элемента
if _, exists := set["apple"]; exists {
fmt.Println("Элемент есть в множестве")
}
// Удаление элемента
delete(set, "apple")
Использование struct{} вместо bool экономит память, так как пустая структура не занимает места. Такой подход является идиоматичным для реализации set в Go.