package utils import ( "math/rand" "reflect" "strconv" "time" ) func GetRandListChan(rg int, count int) []string { strAry := []string{} for i := 0; i < count; i++ { rand.Seed(time.Now().UnixNano()) b := rand.Intn(rg) bs := strconv.Itoa(b) strAry = append(strAry, bs) } return strAry } func GetRandomString(l int) string { str := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" bytes := []byte(str) result := []byte{} r := rand.New(rand.NewSource(time.Now().UnixNano())) for i := 0; i < l; i++ { result = append(result, bytes[r.Intn(len(bytes))]) } return string(result) } //判断某一个值是否含在切片之中 func In_Array(val interface{}, array interface{}) (exists bool, index int) { exists = false index = -1 switch reflect.TypeOf(array).Kind() { case reflect.Slice: s := reflect.ValueOf(array) for i := 0; i < s.Len(); i++ { if reflect.DeepEqual(val, s.Index(i).Interface()) == true { index = i exists = true return } } } return }