Files
go-utils/utils/rand.go
兔子 059ab698b6 v1.0.0
v1.0.0
2023-03-27 13:29:19 +08:00

43 lines
805 B
Go

package utils
import (
"math/rand"
"time"
)
// RandString - 生成随机字符串
func RandString(length int, chars ...string) (result string) {
var charset string
if IsEmpty(chars) {
charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
} else {
charset = chars[0]
}
var seededRand = rand.New(rand.NewSource(time.Now().UnixNano()))
item := make([]byte, length)
for i := range item {
item[i] = charset[seededRand.Intn(len(charset))]
}
return string(item)
}
// RandInt - 生成随机整数
func RandInt(max int, min ...int) (result int) {
if IsEmpty(min) {
min = []int{0}
}
if max <= min[0] {
// 交换两个数
max, min[0] = min[0], max
}
if max == min[0] {
return max
}
rand.Seed(time.Now().UnixNano())
return rand.Intn(max-min[0]) + min[0]
}