set/set.go
func (s *Set) Items() []interface{} {
	s.RLock()
	defer s.RUnlock()
	items := make([]interface{}, len(s.m))
	i := 0
	for k := range s.m {
		items[i] = k
		i++
	}
	return items
}
func (s *Set) Items() []interface{} {
	s.RLock()
	defer s.RUnlock()
	items := make([]interface{}, len(s.m))
	i := 0
	for k := range s.m {
		items[i] = k
		i++
	}
	return items
}
// Items returns a slice of all items in the set.
// Modification to the returned slice does not affect the structure of
// the set. However, any item in the set that is a pointer will be affected
// if modified.