fonchain-fiee/pkg/utils/unqiue.go
2025-06-12 17:07:49 +08:00

20 lines
659 B
Go

// Package utils -----------------------------
// @file : unqiue.go
// @author : JJXu
// @contact : wavingbear@163.com
// @time : 2024/9/12 下午5:03
// -------------------------------------------
package utils
func Unique[T int | int8 | int32 | int64 | string](slice []T) []T {
seen := make(map[T]bool) // 创建一个 map 来跟踪已经看到的元素
unique := make([]T, 0) // 创建一个新的切片来存储唯一的元素
for _, v := range slice {
if _, ok := seen[v]; !ok {
seen[v] = true // 标记元素为已见
unique = append(unique, v) // 将元素添加到唯一元素切片中
}
}
return unique
}