From 591620e532753c637419ca70f37aebe9eb5f2201 Mon Sep 17 00:00:00 2001 From: Yun Date: Fri, 1 Nov 2024 21:21:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- randomx.go | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) 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