Sobes.tech
Назад к вопросам
Junior — Middle
75

Возможно ли создать структуру или тип данных, подобный множеству, в языке Go?

Ответ от нейросети

sobes.tech AI

В языке Go нет встроенного типа "множество" (set), но его можно реализовать с помощью карты (map) с ключами нужного типа и значением типа struct{} или bool. Использование struct{} экономит память, так как пустая структура не занимает места.

Пример реализации множества строк:

// Создаем множество строк
set := make(map[string]struct{})

// Добавляем элемент
set["apple"] = struct{}{}

// Проверяем наличие элемента
if _, exists := set["apple"]; exists {
    fmt.Println("Элемент есть в множестве")
}

// Удаляем элемент
delete(set, "apple")

Таким образом, карта с ключами и пустыми значениями эффективно моделирует множество.