1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-13 17:22:27 +08:00

fix: fix issue #75

This commit is contained in:
dudaodong
2023-02-23 11:51:26 +08:00
parent f6cd98086f
commit fef6fd7b9d

View File

@@ -19,16 +19,21 @@ const (
LETTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" LETTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
) )
func init() {
rand.Seed(time.Now().UnixNano())
}
// RandInt generate random int between min and max, maybe min, not be max // RandInt generate random int between min and max, maybe min, not be max
func RandInt(min, max int) int { func RandInt(min, max int) int {
if min == max { if min == max {
return min return min
} }
if max < min { if max < min {
min, max = max, min min, max = max, min
} }
r := rand.New(rand.NewSource(time.Now().UnixNano()))
return r.Intn(max-min) + min return rand.Intn(max-min) + min
} }
// RandBytes generate random byte slice // RandBytes generate random byte slice
@@ -72,9 +77,12 @@ func RandNumeralOrLetter(length int) string {
// random generate a random string based on given string range // random generate a random string based on given string range
func random(s string, length int) string { func random(s string, length int) string {
b := make([]byte, length) b := make([]byte, length)
r := rand.New(rand.NewSource(time.Now().UnixNano()))
// fix: https://github.com/duke-git/lancet/issues/75
// r := rand.New(rand.NewSource(time.Now().UnixNano()))
for i := range b { for i := range b {
b[i] = s[r.Int63()%int64(len(s))] b[i] = s[rand.Int63()%int64(len(s))]
} }
return string(b) return string(b)
} }