sliceutil.go 249 B

12345678910111213
  1. package sliceutil
  2. func Dedup[T comparable](slice []T) []T {
  3. keys := make(map[T]struct{})
  4. out := make([]T, 0, len(slice))
  5. for _, s := range slice {
  6. if _, ok := keys[s]; !ok {
  7. out = append(out, s)
  8. keys[s] = struct{}{}
  9. }
  10. }
  11. return out
  12. }