Fixed range based for loop

This commit is contained in:
2025-01-19 23:40:55 +03:00
parent 19b44c14d9
commit 7270f4c91c

29
set.go
View File

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