strings.go 428 B

123456789101112131415161718192021222324
  1. package sets
  2. func StringSliceToSet(items []string) map[string]struct{} {
  3. s := map[string]struct{}{}
  4. for _, item := range items {
  5. s[item] = struct{}{}
  6. }
  7. return s
  8. }
  9. func StringSetToSlice(items map[string]struct{}) []string {
  10. ret := []string{}
  11. for k := range items {
  12. ret = append(ret, k)
  13. }
  14. return ret
  15. }
  16. func DeduplicateStrings(items []string) []string {
  17. s := StringSliceToSet(items)
  18. return StringSetToSlice(s)
  19. }