diff --git a/go.mod b/go.mod index 95e4d2391..8b689d7eb 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module Open_IM -go 1.15 +go 1.18 require ( firebase.google.com/go v3.13.0+incompatible diff --git a/pkg/utils/strings.go b/pkg/utils/strings.go index f6980613d..d2896cf78 100644 --- a/pkg/utils/strings.go +++ b/pkg/utils/strings.go @@ -122,6 +122,18 @@ func RemoveDuplicateElement(idList []string) []string { return result } +func RemoveDuplicate[T comparable](arr []T) []T { + result := make([]T, 0, len(arr)) + temp := map[T]struct{}{} + for _, item := range arr { + if _, ok := temp[item]; !ok { + temp[item] = struct{}{} + result = append(result, item) + } + } + return result +} + func IsDuplicateStringSlice(arr []string) bool { t := make(map[string]struct{}) for _, s := range arr {