Files
eth_transfer_go/utils/extension_helper.go
2025-05-15 18:39:19 +08:00

53 lines
798 B
Go

package helper
/*
判断是否存在
- @arr 数组
- @value 值
*/
func ArrayAny[T comparable](arr []T, value T) bool {
for _, v := range arr {
if v == value {
return true
}
}
return false
}
// 定义一个条件函数类型
type ConditionFunc[T any] func(T) bool
/*
判断是否存在
- @arr 数组
- @condition 判断函数
@return 对象指针
*/
func ArrayAnyExtension[T any](arr *[]T, condition ConditionFunc[T]) *T {
for _, v := range *arr {
if condition(v) {
return &v
}
}
return nil
}
func RemoveDuplicates(nums []int64) []int64 {
m := make(map[int64]bool)
result := []int64{}
for _, num := range nums {
if !m[num] {
m[num] = true
result = append(result, num)
}
}
return result
}