Compare commits

..

No commits in common. "main" and "v0.1.5" have entirely different histories.
main ... v0.1.5

1 changed files with 17 additions and 41 deletions

View File

@ -2,61 +2,37 @@ package utils
import "strings" import "strings"
// ArrayInString 判断字符串是否存在于字符串切片中 func In(target string, array []string) bool {
// target: 待匹配的目标字符串 target = strings.Trim(target, "")
// array: 需要查找的字符串切片
func ArrayInString(target string, array []string) bool {
target = strings.TrimSpace(target)
for _, v := range array { for _, v := range array {
if strings.TrimSpace(v) == target { if strings.Trim(v, "") == target {
return true return true
} }
} }
return false return false
} }
// ArrayInInt 判断整数是否存在于整型切片中 // 字符串数组是否存在
// target: 待匹配的目标整数 func StrArrayIndex(items []string, item string) int {
// array: 需要查找的整型切片 for i, eachItem := range items {
func ArrayInInt(target int, array []int) bool { if eachItem == item {
for _, v := range array { return i
if v == target {
return true
} }
} }
return false return -1
} }
// ArrayRemoveRepeatString 去除字符串切片中的重复元素(保持原有顺序) func RemoveRepeatSlice(in []string) (out []string) {
// in: 原始字符串切片 _map := make(map[string]bool)
// 返回: 去重后的字符串切片 for i := 0; i < len(in); i++ {
func ArrayRemoveRepeatString(in []string) (out []string) { if in[i] != "" {
seen := make(map[string]struct{}) _map[in[i]] = true
for _, v := range in {
trimmed := strings.TrimSpace(v)
if trimmed == "" {
continue
} }
if _, ok := seen[trimmed]; ok {
continue
}
seen[trimmed] = struct{}{}
out = append(out, trimmed)
}
return out
} }
// ArrayRemoveRepeatInt 去除整型切片中的重复元素(保持原有顺序) for key, _ := range _map {
// in: 原始整型切片 out = append(out, key)
// 返回: 去重后的整型切片
func ArrayRemoveRepeatInt(in []int) (out []int) {
seen := make(map[int]struct{})
for _, v := range in {
if _, ok := seen[v]; ok {
continue
}
seen[v] = struct{}{}
out = append(out, v)
} }
return out return out
} }