Назад к вопросам
Junior — Middle
77
Возможна ли реализация структуры данных 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")
}
Использование пустой структуры struct{} вместо bool экономит память, так как struct{} занимает 0 байт.