File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -2,24 +2,42 @@ package utils
22
33import (
44 "crypto/rand"
5+ "fmt"
56 "math/big"
67 "strconv"
78 "strings"
89
910 "github.com/sshaplygin/docs-code/models"
1011)
1112
13+ // RandomDigits generate random digits required length. Required len > 0.
1214func RandomDigits (len int ) int64 {
1315 if len <= 0 {
1416 len = 1
1517 }
18+
1619 max , _ := strconv .Atoi (strings .Repeat ("9" , len ))
1720 min , _ := strconv .Atoi ("1" + strings .Repeat ("0" , len - 1 ))
1821
1922 num , _ := rand .Int (rand .Reader , big .NewInt (int64 (max - min + 1 )))
2023 return num .Int64 () + int64 (min )
2124}
2225
26+ // Random generate random digit in range [min, max]. Required max > 0.
27+ func Random (min , max int ) int {
28+ if max == 0 || min == max {
29+ max += 1
30+ }
31+
32+ randomNumber , err := rand .Int (rand .Reader , big .NewInt (int64 (max - min + 1 )))
33+ if err != nil {
34+ fmt .Println ("Error generating random number:" , err )
35+ return 0
36+ }
37+
38+ return int (randomNumber .Int64 ()) + min
39+ }
40+
2341func StrToArr (str string ) ([]int , error ) {
2442 numbers := strings .Split (str , "" )
2543 arr := make ([]int , 0 , len (numbers ))
You can’t perform that action at this time.
0 commit comments