利用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


相关推荐: Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  详解Android——蓝牙技术 带你实现终端间数据传输  什么是javascript作用域_全局和局部作用域有什么区别?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  javascript中的try catch异常捕获机制用法分析  如何在自有机房高效搭建专业网站?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel如何使用Collections进行数据处理?(实用方法示例)  深圳网站制作平台,深圳市做网站好的公司有哪些?  做企业网站制作流程,企业网站制作基本流程有哪些?  昵图网官网入口 昵图网素材平台官方入口  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何在局域网内绑定自建网站域名?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel如何处理文件下载请求?(Response示例)  Python并发异常传播_错误处理解析【教程】  iOS UIView常见属性方法小结  Mybatis 中的insertOrUpdate操作  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何在腾讯云服务器快速搭建个人网站?  Swift中循环语句中的转移语句 break 和 continue  如何自定义建站之星网站的导航菜单样式?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  个人网站制作流程图片大全,个人网站如何注销?  简单实现Android文件上传  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  如何做网站制作流程,*游戏网站怎么搭建?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Android使用GridView实现日历的简单功能  成都网站制作公司哪家好,四川省职工服务网是做什么用?  微信小程序 闭包写法详细介绍  Python文件流缓冲机制_IO性能解析【教程】  JavaScript数据类型有哪些_如何准确判断一个变量的类型  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  如何挑选高效建站主机与优质域名?  如何选择PHP开源工具快速搭建网站?  Python高阶函数应用_函数作为参数说明【指导】  香港网站服务器数量如何影响SEO优化效果?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  重庆市网站制作公司,重庆招聘网站哪个好?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)