цикл статей и видео «Go. Структуры данных» от Marpa3D Set (множество,набор) В этой статье мы рассмотрим такую структуры данных как set и посмотрим, насколько она полезна для нас, как разработчиков. А также ее особенности. Set - это структура данных, которая может хранить уникальные значения без какого-либо определенного порядка (неупорядоченные). На рисунке ниже вы можете видеть пример Set в виде набора строк (названия планет). Все они уникальны и не следуют каком-либо порядку! Реализация Set на языке Go // Структуры данных. Реализация Set (множество, набор)
package main
import (
"errors"
"fmt"
)
// Set - наше описание заданной стркутуры данных
type Set struct {
Elements map[string]struct{} // пустая структура для оптимизации памяти
}
// NewSet - конструктор экземпляра Set
func NewSet() *Set {
var set Set
set.Elements = make(map[string]struct{})
return &set
}
// Add - добавление элемента в набор Set
func (s *Set) Add(elem string) {
s.Elements[elem] = struct{}{}
}
/