首页 > 后端开发 > Golang > rand.Seed(SEED) 已弃用,如何使用 NewRand(NewSeed( ) )?

rand.Seed(SEED) 已弃用,如何使用 NewRand(NewSeed( ) )?

PHPz
发布: 2024-02-15 16:00:10
转载
720 人浏览过

rand.Seed(SEED) 已弃用,如何使用 NewRand(NewSeed( ) )?

php小编西瓜在这里给大家分享一种解决方案,当我们使用rand.Seed(SEED)被弃用时,我们可以使用NewRand(NewSeed())来代替。NewSeed()函数可以生成一个新的种子,而NewRand()函数则可以使用这个新种子来生成随机数。这种方法可以帮助我们继续使用随机数生成功能,而不受到rand.Seed(SEED)被弃用的限制。通过这种方式,我们可以轻松地解决这个问题,并继续使用随机数生成功能。

问题内容

我现在正在学习go。

我是一个例子,我有这行

rand.seed(seed)
登录后复制

但是关于 go 的 vscode 扩展告诉了我

rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: Programs that call Seed and then expect a specific sequence of results from the global random source (using functions such as Int) can be broken when a dependency changes how much it consumes from the global random source. To avoid such breakages, programs that need a specific result sequence should use NewRand(NewSource(seed)) to obtain a random generator that other packages cannot access.  (SA1019)
登录后复制

我无法理解如何按照建议使用 newrand(newsource(seed))

我找到了有关 newsource 的文档 https://pkg.go.dev/math/rand#newsource

但是没有关于 newrand 函数的文档

新推荐的 rand.seed(seed) 等效项是什么?rand.seed(seed) 等效项是什么?

解决方法

go 1.20 种子文档有一个拼写错误。按照最新文档rand.new(rand.newsource(seed))解决方法

go 1.20 种子文档

有一个拼写错误。按照最新文档rand.new(rand.newsource(seed)) a> 和

go 1.20 发行说明🎜。🎜 🎜创建随机源并使用源上的方法而不是调用包函数:🎜
r := rand.New(rand.NewSource(seed))
  fmt.Println(r.Uint64())
  fmt.Println(r.Uint64())
登录后复制

以上是rand.Seed(SEED) 已弃用,如何使用 NewRand(NewSeed( ) )?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板