Go中如何生成固定长度的随机数?

2024-04-02

在 Go 中生成固定长度随机数的最快、最简单的方法是什么?

假设要生成8位长数字,问题是rand.Intn(100000000)是结果可能远小于 8 位数字,并且用前导零填充它对我来说看起来不是一个好的答案。

也就是说,我更关心随机性的质量,因为它的长度。所以我在想,对于这个具体问题,以下是最快、最简单的方法吗?

99999999 - rand.Int63n(90000000)

即,我猜Int63n可能比我的情况更好Intn。这是真的,还是只是一厢情愿?关于全8位的随机性,两者会相同,还是真的有一个比另一个更好?

最后,还有比上面更好的方法吗?

UPDATE:

请不要提供low + rand(hi-low)作为答案,众所周知。这相当于我现在正在做的事情,但它并没有回答我真正的问题,“关于全8位的随机性,两者会相同,还是真的有一个比另一个更好?”

如果没有人能回答这个问题,我将在两者之间绘制一个二维散点图,然后自己找出答案......

Thanks


这是一个通用函数,用于生成一定范围内的数字

func rangeIn(low, hi int) int {
    return low + rand.Intn(hi-low)
}

See it on the Playground http://play.golang.org/p/HEG_UToBAB

在您的具体情况下,尝试生成 8 位数字,范围将是(10000000, 99999999)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go中如何生成固定长度的随机数? 的相关文章

  • vscode 中的调试不会在断点处停止,调试器启动时显示“无法找到文件...”

    乌班图 vscode 1 62 1 去1 17 3 vscode go 扩展 v0 29 0 深入研究 v1 7 1 我是 vscode 和 Go 的新手 我有多年在 Eclipse 中调试 Java 应用程序的经验 我构建了一个小型多模块
  • 处理小数字和准确性

    我有一个程序 可以处理很多非常小的数字 接近双极限的下限 在我的应用程序执行期间 其中一些数字逐渐变小 这意味着它们的 估计 不太准确 我目前的解决方案是在进行任何计算之前将它们放大 然后再次缩小 但这让我思考 这样做是否真的获得了更多的
  • 随机字符串生成器产生相同结果的问题

    我使用随机字符串生成器 基于此 http stackoverflow com questions 1344221 how can i generate random 8 character alphanumeric strings in c
  • jQuery 从 $(selector) 返回的选择中获取随机元素

    If my element 匹配多个元素 有没有一种快速的方法可以从中获取随机元素 fn random function return this eq Math floor Math random this length selector
  • 如何获取常量内存中的统计数据

    我有一个函数 它会创建一些随机的数值结果 我知道 结果将是 a 小 a b 约 50 范围内的整数a b 我想创建一个执行上述函数 1000000 次的函数 并计算每个结果出现的频率 该函数使用随机生成器来生成结果 问题是 我不知道如何在常
  • 如何检查一个数字是否包含在一个范围内(在一个语句中)?

    我正在使用 Ruby on Rails 3 0 9 我想检查某个数字是否包含在某个范围内 也就是说 如果我有一个变量number 5我想检查一下1 lt number lt 10并检索一个布尔值 如果number值包含在该范围内 我可以这样
  • 在 JavaScript 中将长数字转换为缩写字符串,并有特殊的简短要求

    在 JavaScript 中 如何编写一个函数来转换给定的 编辑 正整数 数字 低于 1000 亿 转换为 3 个字母的缩写 其中 0 9 和 a z A Z 算作一个字母 但点 因为它在许多比例字体中很小 不会 并且会被忽略信函限制条款
  • 为什么我的 SQL 占位符没有被替换(使用 Go pq)?

    根据文档 我正在这样做 var thingname string asdf var id int err database QueryRow SELECT id from things where thing thingname Scan
  • 在 C 或 C++ 中用 1 到 10^10 之间的随机数填充数组

    我的分配的一部分基于一个数组 其大小由用户指定 其中包含从 1 到 10 10 的随机数 然后我们必须找到数组中第 k 个较小的数字 这是我尝试过的 include
  • 投射回更专业的界面

    我正在用 Go 编写一个游戏 在 C 中 我将所有实体类存储在 BaseEntity 类的数组中 如果一个实体需要在世界中移动 那么它将是一个从 BaseEntity 派生的 PhysEntity 但添加了方法 我尝试模仿这是 go pac
  • 如何在 Java 中将区域设置格式的数字转换为 BigInteger?

    我搜索了很多 但没有任何帮助 假设我需要将 12 090 129 019 201 920 192 091 029 102 901 920 192 019 201 920 葡萄牙语组分隔符 转换为 BigInteger 值 如何进行转换 我尝
  • 设置种子增强::随机

    我想通过使用不同的种子数来重置随机序列 运行此测试代码时 boost mt19937 gener 1 boost normal distribution lt gt normal 0 1 boost variate generator
  • 使用覆盖率信息测试 Go 中的 os.Exit 场景 (coveralls.io/Goveralls)

    这个问题 如何在 Go 中测试 os exit 场景 https stackoverflow com questions 26225513 how to test os exit scenarios in go 以及其中得票最高的答案 列出
  • (转)如何使用toml文件?

    正如标题 我想知道如何使用 golang 中的 toml 文件 在此之前 我展示了我的 toml 示例 这样对吗 datatitle enable true userids 12345 67890 datatitle 12345 prop1
  • 我应该避免在 golang 中使用单例包吗?

    现在我有一个包裹store包含以下内容 package store var db Database func Open url string error open db connection func FindAll model inter
  • 根据值匹配数组

    我使用以下代码来解析 yaml 并应得到输出为runners对象和函数build应更改数据结构并根据以下结构提供输出 type Exec struct NameVal string Executer string 这是我尝试过的 但我不知道
  • golang mongodb (mgo) 没有插入文档

    我在使用 mgo 在 mongodb 中保存 golang 结构时遇到问题 type AN Track Log struct Id bson ObjectId bson id omitempty user session id str st
  • Go 编程语言中的“方法需要指针接收器”

    我刚刚看到了 Go 编程语言的演示 并想尝试写几行 一切工作正常 直到我尝试在这种情况下使用界面 我该如何解决这个问题 package main import fmt type entity float32 func e entity in
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并
  • 随机定位的 div,不重叠

    所有 div 都像我需要的那样 随机 放置 但它们偶尔会重叠 这只是一个机会问题 我怎样才能防止这种情况发生 理想情况下我能够设置它们之间的最小距离 我可以通过进一步开发当前的 javascript 来实现这一目标吗 我需要考虑完全不同的方

随机推荐

  • 为什么在 onResume() 中调用 View 的 getWidth() 会返回 0?

    我读过的所有内容都说你不能打电话getWidth or getHeight on a View在构造函数中 但我正在调用它们onResume 那时屏幕的布局不是应该已经画好了吗 Override protected void onResum
  • Any 类型没有下标成员 Swift 3.0

    尝试转换函数以使其兼容 Swift 3 0 必须更改参数json from AnyObject to Any fileprivate func checkForAuthorizationFailure json Any gt Bool le
  • 错误:数字最多只能安全存储 53 位

    我正在尝试在 quorum 中执行原始事务 但收到错误 错误 数字最多只能安全存储 53 位 代码是 web3 eth sendSignedTransaction rawTx then function transactionReciept
  • Jenkins - 运行 NuGet 包还原来生成此文件

    当我在 Jenkins 构建服务器上构建 NET Standard 2 0 库时 C Program Files dotnet sdk 2 1 302 Sdks Microsoft NET Sdk targets Microsoft Pac
  • 为什么我的复选框没有映射到 MVC 模型成员?

    我正在尝试实现什么这个答案表明 https stackoverflow com a 10649724 57428但没有将显示名称存储在我的模型代码中 所以我相信这是一个单独的问题 我有 MVC 视图 和一个模型 public class M
  • dask 数据帧的 iloc 相当于什么?

    我遇到一种情况 我需要按位置索引 dask 数据帧 我看到没有 iloc方法可用 还有其他选择吗 或者我是否需要使用基于标签的索引 例如 我想 import dask dataframe as dd import numpy as np i
  • 如何检索 QTableView 的选定行?

    我正在使用QTableView具有该模型的类 class PaletteTableModel QtCore QAbstractTableModel def init self colors headers parent None QtCor
  • 数据未通过 wp_localize_script 正确传递

    我正在尝试将 PHP 数据传递给 JS 脚本 我正在使用 wp localize script 函数 wp register script googlechart https www gstatic com charts loader js
  • 如何从 iframe 读取父页面的页面标题?

    我有一个页面调用另一个页面 在另一台服务器上 我希望该页面从父页面读取标题 这可能吗 或者这是否存在一些安全问题 您无法像这样跨服务器进行通信
  • 如何在金属中使用texture2d_array数组?

    我一直在尝试使用texture2d array来应用金属中的实时滤镜 但我没有得到正确的结果 我像这样创建纹理数组 Code Class MetalTextureArray class MetalTextureArray private s
  • 在 iOS 中使用 WKWebView 请求桌面站点

    我到处搜索 但找不到一种方法来请求网站的桌面版本而不依赖网站本身 他们自己的 桌面版本 按钮 有没有办法做到这一点 我认为如果我可以让它在 UIWebView 中工作 那么在 WKWebView 上也可以以相同的方式完成 如果你只关注iOS
  • 将旧日志从 filebeat 重新发送到logstash

    在此先感谢您的帮助 我想重新加载一些日志来自定义其他字段 我注意到 filebeat 配置中的注册表文件会跟踪已选择的文件 但是 如果我删除该文件中的内容 我将无法恢复旧日志 我还尝试更改注册表文件中源的时间戳 但没有成功 将旧日志从 fi
  • 散景图像绘图的较小范围填充

    我正在使用 bokeh 1 0 4 我想使用 bokeh 生成图像图match aspect True 这是用于说明的示例代码 from bokeh models ranges import DataRange1d from bokeh p
  • Tomcat 热部署不工作

    我在 Tomcat 6 服务器上热部署新的 WAR 时遇到问题 当我添加新的 WAR 时 我可以看到 Tomcat 正在尝试部署它 但是 我认为问题在于取消部署旧的 war 展开的 war 文件夹的内容全部被删除 除了 WEB INF 文件
  • Azure数据工厂自动重新触发失败的管道

    我想使用 If Condition Activity 动态内容 自动重新触发失败的管道 过程 管道 1 在计划时间使用触发器 1 运行 有效 如果管道 1 失败 计划触发器 2 将运行管道 2 有效 管道 2 应包含 if 条件来检查管道
  • 从函数提前返回是否比 if 语句更优雅?

    我自己和一位同事对于以下哪一个更优雅存在争议 我不会说谁是谁 所以这是公正的 哪个更优雅 public function set hitZone target DisplayObject void if hitZone target hit
  • 自定义 jQuery 子菜单定位

    我正在尝试创建一个至少有两层子菜单的水平菜单 所有子菜单都是垂直的 Submenu1 将位于其父菜单的正下方 所有后续子菜单级别 2 应位于其父菜单的右侧 我刚刚开始学习如何使用 jQuery 菜单 他们似乎没有对此进行自定义 我不知道如何
  • 计算机如何进行浮点运算?

    我看过很长的文章解释如何存储浮点数以及如何完成这些数字的算术运算 但请简要解释一下为什么当我写的时候 cout lt lt 1 0 3 0 lt
  • 从头开始创建,还是从头开始构建?

    我正在考虑建立一个可视化编程语言 http en wikipedia org wiki Visual programming language 类似于Scratch http scratch mit edu 供儿童 又称可怜的打字员 在对微
  • Go中如何生成固定长度的随机数?

    在 Go 中生成固定长度随机数的最快 最简单的方法是什么 假设要生成8位长数字 问题是rand Intn 100000000 是结果可能远小于 8 位数字 并且用前导零填充它对我来说看起来不是一个好的答案 也就是说 我更关心随机性的质量 因