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 }