refactor: improve performance

This commit is contained in:
naiba committed 2024-12-22 17:23:55 +08:00
1 parent 5158375448
commit 0764dac3b3
4 files changed
+62 -2

No files matched your search

+12
View File
@@ -152,3 +152,15 @@ func MapValuesToSlice[Map ~map[K]V, K comparable, V any](m Map) []V {
s := make([]V, 0, len(m))
return slices.AppendSeq(s, maps.Values(m))
}
func Unique[T comparable](s []T) []T {
m := make(map[T]struct{})
ret := make([]T, 0, len(s))
for _, v := range s {
if _, ok := m[v]; !ok {
m[v] = struct{}{}
ret = append(ret, v)
}
}
return ret
}