package utl import ( "math/rand" "time" ) var ( s = rand.NewSource(time.Now().UnixNano()) r = rand.New(s) ) func RandNumString(sz int) string { b := make([]byte, sz) for i := 0; i < sz; i++ { b[i] = byte(0x30 + r.Intn(10)) } return string(b) } func RandAlphaStr(sz int) string { starts := []int{0x30, 0x41, 0x61} lens := []int{10, 26, 26} b := make([]byte, sz) for i := 0; i < sz; i++ { idx := r.Intn(len(starts)) b[i] = byte(starts[idx] + r.Intn(lens[idx])) } return string(b) } func RandInt(m, n int) int { if m > n { return RandInt(n, m) } return r.Intn(n-m) + m } var RandIntn = r.Intn func RandChoice(sarr []string) string { return sarr[r.Intn(len(sarr))] }