Files
hk4e/common/utils/random/random.go
2022-11-20 15:38:00 +08:00

58 lines
1016 B
Go

package random
import (
"encoding/hex"
"math/rand"
"time"
)
func init() {
rand.Seed(time.Now().UnixNano())
}
func GetRandomStr(strLen int) (str string) {
baseStr := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
for i := 0; i < strLen; i++ {
index := rand.Intn(len(baseStr))
str += string(baseStr[index])
}
return str
}
func GetRandomByte(len int) []byte {
ret := make([]byte, 0)
for i := 0; i < len; i++ {
r := uint8(rand.Intn(256))
ret = append(ret, r)
}
return ret
}
func GetRandomByteHexStr(len int) string {
return hex.EncodeToString(GetRandomByte(len))
}
func GetRandomInt32(min int32, max int32) int32 {
if max <= min {
return 0
}
r := rand.Int31n(max-min+1) + min
return r
}
func GetRandomFloat32(min float32, max float32) float32 {
if max <= min {
return 0.0
}
r := rand.Float32()*(max-min) + min
return r
}
func GetRandomFloat64(min float64, max float64) float64 {
if max <= min {
return 0.0
}
r := rand.Float64()*(max-min) + min
return r
}