package utils import ( "fmt" "go_dreamfactory/sys/configure" "math/rand" "strings" "github.com/Pallinder/go-randomdata" ) func GenValidateCode(width int) string { numeric := [10]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} r := len(numeric) rand.Seed(configure.Now().UnixNano()) var sb strings.Builder for i := 0; i < width; i++ { fmt.Fprintf(&sb, "%d", numeric[rand.Intn(r)]) } return sb.String() } // 随机一组随机数 // number >= start and < end num 随机数个数 func RandomNumbers(start, end, num int) []int { if end-start < 0 || num > (end-start) { return nil } if end-start == 1 { n := randomdata.Number(start, end) return []int{n} } var i int arr := make([]int, num) boo := make(map[int]int) for { if i == num { break } n := randomdata.Number(start, end) if _, ok := boo[n]; ok { continue } boo[n] = i arr[i] = n i++ } return arr }