From a056d5eba1fd80b4aa3fffd6ebf15cef2547f03f Mon Sep 17 00:00:00 2001 From: Yun Date: Fri, 1 Nov 2024 23:36:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=9A=8F=E6=9C=BA=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- randomx.go | 18 ++++++++++++++++++ randomx_test.go | 33 +++++++++++++++++++++------------ 2 files changed, 39 insertions(+), 12 deletions(-) diff --git a/randomx.go b/randomx.go index 1db59ef..db874f3 100644 --- a/randomx.go +++ b/randomx.go @@ -48,6 +48,24 @@ func RandomStr(length int) (string, error) { return string(result), nil } +func RandomNum(length int) (string, error) { + if length <= 0 { + return "", errors.New("位数必须大于0") + } + str := "0123456789" + + 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 diff --git a/randomx_test.go b/randomx_test.go index 27925b0..a0e2694 100644 --- a/randomx_test.go +++ b/randomx_test.go @@ -6,6 +6,27 @@ import ( "code.yun.ink/pkg/randomx" ) +func TestRandomRune(t *testing.T) { + str, err := randomx.RandomRune(20) + if err != nil { + t.Fatal(err.Error()) + } + t.Log(str) +} + +func TestRandomStr(t *testing.T) { + str, err := randomx.RandomStr(10) + if err != nil { + t.Fatal(err.Error()) + } + if len(str) == 10 { + t.Log("正常") + t.Log(str) + } else { + t.Fatal("不正常", str) + } +} + func TestRandomInt(t *testing.T) { i, err := randomx.RandomInt(100, 101) if err != nil { @@ -17,15 +38,3 @@ func TestRandomInt(t *testing.T) { t.Fatal("不正常", i) } } - -func TestRandomStr(t *testing.T) { - str, err := randomx.RandomStr(10) - if err != nil { - t.Fatal(err.Error()) - } - if len(str) == 10 { - t.Log("正常") - } else { - t.Fatal("不正常", str) - } -}