You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.0 KiB
Go

// Package util -----------------------------
// @file : list.go
// @author : JJXu
// @contact : wavingbear@163.com
// @time : 2023/6/1 16:40
// -------------------------------------------
package util
import "strings"
func UniqueBaseTypeList[T comparable](list []T) []T {
uniqueList := make([]T, 0, len(list))
seen := make(map[T]bool)
for _, item := range list {
if !seen[item] {
seen[item] = true
uniqueList = append(uniqueList, item)
}
}
return uniqueList
}
// IsValueInList 值是否在列表中
// value:查询的值
// list: 列表
// disableStrictCase: 禁用严格大小写检查。默认是严格大小写
func IsValueInList(value string, list []string, disableStrictCase ...bool) bool {
var disStrictCase bool
if disableStrictCase != nil {
disStrictCase = disableStrictCase[0]
}
for _, v := range list {
var listValue string
if disStrictCase {
listValue = strings.ToLower(v)
value = strings.ToLower(v)
} else {
listValue = v
}
if listValue == value {
return true
}
}
return false
}