modash/moslice/uniq.go
Leon Mika a20530ddfd Initial commit of modash
This was taken from github.com/lmika/gopkgs/fp
2025-01-27 13:19:52 +11:00

20 lines
271 B
Go

package moslice
func Uniq[T comparable](ts []T) []T {
if len(ts) < 2 {
return ts
}
outT := make([]T, 0)
seenT := make(map[T]struct{})
for _, t := range ts {
if _, ok := seenT[t]; !ok {
outT = append(outT, t)
seenT[t] = struct{}{}
}
}
return outT
}