package utils import ( "strconv" "strings" "go_dreamfactory/lego/sys/log" "github.com/spf13/cast" ) // 拆分Uid func UIdSplit(uid string) (string, string, bool) { s := strings.SplitN(uid, "_", 2) if len(s) < 2 { log.Debugf("split uid err: %s", uid) return "", "", false } return s[0], s[1], true } func Findx[T string | int32](slice []T, val T) (int, bool) { for i, item := range slice { if item == val { return i, true } } return -1, false } // Deprecated: Use Findx instead func Find(slice []string, val string) (int, bool) { for i, item := range slice { if item == val { return i, true } } return -1, false } func DeleteString(list []string, ele string) []string { result := make([]string, 0) for _, v := range list { if v != ele { result = append(result, v) } } return result } //转换包含数字字符串数组 //eg. "3,4,5" to []int32{3,4,5} func TrInt32(val string) (nums []int32) { strArr := strings.Split(val, ",") if len(strArr) == 0 { return } for _, n := range strArr { if IsNum(strings.TrimSpace(n)) { nums = append(nums, cast.ToInt32(strings.TrimSpace(n))) } } return } func IsNum(s string) bool { _, err := strconv.ParseFloat(s, 64) return err == nil }