Skip to content

Commit f7fa078

Browse files
committed
add: utils
1 parent 5d2a413 commit f7fa078

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

utils/helpers.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,42 @@ package utils
22

33
import (
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.
1214
func 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+
2341
func StrToArr(str string) ([]int, error) {
2442
numbers := strings.Split(str, "")
2543
arr := make([]int, 0, len(numbers))

0 commit comments

Comments
 (0)