go 中实现Set
type Set map[string]struct{}
func (s Set) Has(key string) bool {
_, ok := s[key]
return ok
}
func (s Set) Add(keys ...string) {
for _, key := range keys {
s[key] = struct{}{}
}
}
func (s Set) Delete(keys ... string) {
for _, key := range keys {
delete(s, key)
}
}