利用Golang生成整数随机数方法示例

发布时间 - 2026-01-11 00:51:03    点击率:

php随机数

生成一个给定范围的随机数,用 PHP 就太简单不过了,而且可以指定从负数到正整数的范围,如:

<?php
echo mt_rand(-988, 888);

这样就随机生成 -988 到 888 的随机数。

使用 Go 就要稍微麻烦一点。以下两个函数分别是生成一个最大范围内随机整数,和生成一个区间范围的随机整数:

生成一个最大范围内随机数

一定要给一个时间戳的种子,否则每次生成都是一样的值。这里就是生成 [0,100) 的随机数。

func GenerateRandnum() int {
 rand.Seed(time.Now().Unix())
 randNum := rand.Intn(100)
 return randNum
}

生成一个给定范围的随机数

这里实际上跟生成一个给定最大值内的随机数一样,只是有一个最大和最小范围的处理。

func GenerateRangeNum(min, max int) int {
 rand.Seed(time.Now().Unix())
 randNum := rand.Intn(max - min) + min
 return randNum
}

完整示例如下:

func main() {
 GenerateRandnum()
 GenerateRangeNum(888, 900)
}

package main
 
import (
 "fmt"
 "math/rand"
 "time"
)
 
// GenerateRandnum 生成最大范围内随机数
func GenerateRandnum() int {
 rand.Seed(time.Now().Unix())
 randNum := rand.Intn(100)
 
 fmt.Printf("rand is %v\n", randNum)
 
 return randNum
}
 
// GenerateRangeNum 生成一个区间范围的随机数
func GenerateRangeNum(min, max int) int {
  rand.Seed(time.Now().Unix())
 randNum := rand.Intn(max - min)
 randNum = randNum + min
 fmt.Printf("rand is %v\n", randNum)
 return randNum
}
 
func main() {
 GenerateRandnum()
 GenerateRangeNum(888, 900)
}

运行结果:

➜ examples git:(master) ✗ go run range.go

rand is 52

rand is 892

➜ examples git:(master) ✗ go run range.go

rand is 53

rand is 889

➜ examples git:(master) ✗ go run range.go

rand is 53

rand is 889

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# golang  # 随机数生成  # 随机数  # go语言生成随机数  # golang 随机数的两种方式  # golang生成指定位数的随机数的方法  # GoLang 中的随机数的示例代码  # Golang编程实现生成n个从a到b不重复随机数的方法  # golang中随机数rand的使用  # 过了  # 成都  # 这篇文章  # 谢谢大家  # 大和  # 有一个  # 数到  # 正整数  # 是一样的  # 有疑问  # mt_rand  # rand  # func  # GenerateRandnum  # plain  # int  # strong  # php  # span 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  如何快速搭建高效香港服务器网站?  php json中文编码为null的解决办法  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何确认建站备案号应放置的具体位置?  Linux系统命令中screen命令详解  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  PythonWeb开发入门教程_Flask快速构建Web应用  详解CentOS6.5 安装 MySQL5.1.71的方法  打造顶配客厅影院,这份100寸电视推荐名单请查收  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  java中使用zxing批量生成二维码立牌  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  js实现获取鼠标当前的位置  Laravel安装步骤详细教程_Laravel环境搭建指南  PHP正则匹配日期和时间(时间戳转换)的实例代码  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  北京的网站制作公司有哪些,哪个视频网站最好?  微信小程序 闭包写法详细介绍  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  重庆市网站制作公司,重庆招聘网站哪个好?  如何在阿里云部署织梦网站?  Bootstrap CSS布局之列表  微信小程序 input输入框控件详解及实例(多种示例)  海南网站制作公司有哪些,海口网是哪家的?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  高端网站建设与定制开发一站式解决方案 中企动力  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  网易LOFTER官网链接 老福特网页版登录地址  如何在IIS7上新建站点并设置安全权限?  C语言设计一个闪闪的圣诞树  移动端脚本框架Hammer.js  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Laravel如何优化应用性能?(缓存和优化命令)  实现点击下箭头变上箭头来回切换的两种方法【推荐】  5种Android数据存储方式汇总  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  Laravel模型事件有哪些_Laravel Model Event生命周期详解  奇安信“盘古石”团队突破 iOS 26.1 提权  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  JavaScript Ajax实现异步通信  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑