|
|
- package helper
-
- import (
- "crypto/rand"
- "math/big"
- )
-
- /**
- * 获取int类型的区间随机数
- */
- func GetRandInt(min, max int) (r int, err error) {
- _r, err := GetRandInt64(int64(min), int64(max))
- if err != nil {
- return
- }
- r = int(_r)
- return
- }
-
-
- /**
- * 获取int64类型的区间随机数
- */
- func GetRandInt64(min, max int64) (r int64, err error) {
- if min == max {
- r = min
- return
- }
- if min > max {
- max, min = min, max
- }
- result, err := rand.Int(rand.Reader, big.NewInt(max-min))
- if err != nil {
- return
- }
- r = result.Int64() + min
-
- b, err := rand.Int(rand.Reader, big.NewInt(2))
- if err == nil && b.Int64() == 1 {
- r += 1
- }
-
- return
- }
|