package verify import ( "joybuywork/internal/consts" ) // InArray 在数值里面 func InArray[T consts.NormalType](val T, arr ...T) bool { for _, v := range arr { if v == val { return true } } return false } // AllInArray 都在数值里面 func AllInArray[T consts.NormalType](vals, arr []T) bool { if len(arr) != len(vals) { return false } var arrMap = make(map[T]struct{}, len(arr)) for _, v := range arr { arrMap[v] = struct{}{} } var num int for _, v := range vals { if _, ok := arrMap[v]; ok { num++ } } return num == len(vals) } // OneInArray 有一个在数值里面 func OneInArray[T consts.NormalType](vals, arr []T) bool { var arrMap = make(map[T]struct{}, len(arr)) for _, v := range arr { arrMap[v] = struct{}{} } for _, v := range vals { if _, ok := arrMap[v]; ok { return true } } return false } // OutSide 不在区间里面 func OutSide[T consts.IntType](val, min, max T) bool { return !Inside(val, min, max) } // Inside 在区间里面 func Inside[T consts.IntType](val, min, max T) bool { if val >= min && val <= max { return true } return false } // LInside 左闭在区间里面 func LInside[T consts.IntType](val, min, max T) bool { if val >= min && val < max { return true } return false }