Назад к вопросам
Avito
Junior — Middle
74
Каким образом можно реализовать структуру данных Set на языке Go?
Компании, где спрашивали
Кредиска
Ответ от нейросети
sobes.tech AI
В языке Go нет встроенного типа Set, но его можно реализовать с помощью карты (map) с ключами нужного типа и значением bool или пустой структурой struct{}. Например, множество строк можно сделать так:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Добавление элементов
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Проверка наличия элемента
if _, exists := set["apple"]; exists {
fmt.Println("apple есть в множестве")
}
// Удаление элемента
delete(set, "banana")
// Перебор элементов
for key := range set {
fmt.Println(key)
}
}
Использование пустой структуры struct{} вместо bool экономит память, так как она занимает 0 байт.