1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
var ( randSeek = int64(1) l sync.Mutex )
//获取指定长度的随机字符串 //@params num int 生成的随机字符串的长度 //@params str string 可选,指定随机的字符串 func GetRandomSring(num int, str ...string) string { s := "abcdefghijklmnopqrstuvwxyz0123456789" if len(str) > 0 { s = str[0] } l := len(s) r := rand.New(rand.NewSource(getRandSeek())) var buf bytes.Buffer for i := 0; i < num; i++ { x := r.Intn(l) buf.WriteString(s[x : x+1]) } return buf.String() }
func getRandSeek() int64 { l.Lock() if randSeek >= 100000000 { randSeek = 1 } randSeek++ l.Unlock() return time.Now().UnixNano() + randSeek }
|
近期评论