2025-01-19 23:40:55 +03:00

33 lines
546 B
Go

package dnsexit_manager
type Set struct {
elements map[interface{}]struct{}
}
func CreateSet() *Set {
return &Set{
elements: make(map[interface{}]struct{}),
}
}
func (set *Set) Add(value interface{}) {
_, found := set.elements[value]
if !found {
set.elements[value] = struct{}{}
}
}
func (set *Set) Delete(value interface{}) {
delete(set.elements, value)
}
func (set *Set) List() []interface{} {
keys := make([]interface{}, 0, len(set.elements))
for _, key := range set.elements {
keys = append(keys, key)
}
return keys
}