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

В Go нет встроенного типа данных, который напрямую реализует множество (set) для хранения уникальных элементов без порядка.

Короткий ответ

Что ответить на собеседовании

В Go нет встроенного типа данных, который напрямую реализует множество (set) для хранения уникальных элементов без порядка. Однако, для этой цели часто используют карту (map) с ключами нужного типа и значением типа bool или пустой структуры struct{}, например:

Подробный разбор

Ответ с пояснениями

В Go нет встроенного типа данных, который напрямую реализует множество (set) для хранения уникальных элементов без порядка. Однако, для этой цели часто используют карту (map) с ключами нужного типа и значением типа bool или пустой структуры struct{}, например:

set := make(map[string]struct{})
set["apple"] = struct{}{}
set["banana"] = struct{}{}

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

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее