diff --git a/randomx.go b/randomx.go index 17c504a..1db59ef 100644 --- a/randomx.go +++ b/randomx.go @@ -7,7 +7,7 @@ import ( ) // 生成指定位数的随机字符串 -func RandomStr(length int) (string, error) { +func RandomRune(length int) (string, error) { if length <= 0 { return "", errors.New("位数必须大于0") } @@ -27,6 +27,27 @@ func RandomStr(length int) (string, error) { return string(result), nil } +// 生成指定长度的随机字符串 +func RandomStr(length int) (string, error) { + if length <= 0 { + return "", errors.New("位数必须大于0") + } + str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + bytes := []rune(str) + + // 初始化参数,并赋予空间 + var result = make([]rune, 0, length) + + // 初始化随机因子 + r := rand.New(rand.NewSource(time.Now().UnixNano())) + + for i := 0; i < length; i++ { + result = append(result, bytes[r.Intn(len(bytes))]) + } + + return string(result), nil +} + // 生成指定空间的随机数 func RandomInt(min, max int) (int, error) { c := max - min