golang--生成某区间的随机数
2024-10-20 02:55:29
import (
"crypto/rand"
"fmt"
"math"
"math/big"
) func main() {
// 生成 1000 个 [-10, 10) 范围的安全随机数。
for i := 0; i < 1000; i++ {
ret := RangeRand(-10, 10)
fmt.Println(ret)
}
} // 生成区间[-m, n]的安全随机数
func RangeRand(min, max int64) int64 {
if min > max {
panic("the min is greater than max!")
} if min < 0 {
f64Min := math.Abs(float64(min))
i64Min := int64(f64Min)
result, _ := rand.Int(rand.Reader, big.NewInt(max + 1 + i64Min)) return result.Int64() - i64Min
} else {
result, _ := rand.Int(rand.Reader, big.NewInt(max-min+1))
return min + result.Int64()
}
最新文章
- 模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery
- Linux 开机 logo 修改
- bootstrap学习总结-03 常用标签1
- Websocket————错误总结
- WebBrowser的内存释放
- linux包之findutils之find和xargs命令
- 【jmeter】HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults
- jQuery实现页面滚动时顶部动态显示隐藏
- 在ssh框架中注解方式需要注意的几个问题
- NIO Socket非阻塞模式
- 办理布鲁克大学(本科)学历认证『微信171922772』Brock学位证成绩单使馆认证Brock University
- BZOJ 3101: N皇后
- CF#418 Div2 D. An overnight dance in discotheque
- Django Web项目代码规范参考
- SVN密码找回 完美方案
- BZOJ2724 [Violet]蒲公英(分块)
- RN项目中使用react-native-elements报错: Unrecognized font family &#39;Material Icons&#39;
- java图片压缩(Thumbnails)
- Mac svn使用学习-1-简介
- 例子:照片的OCR识别