我正在学围棋。
我举个例子我有这句台词
rand.Seed(SEED)
但是go的vscode扩展告诉我
兰德自Go语言1.20起已被弃用,自Go语言1.0起出现了一个替代版本:调用Seed然后期望来自全局随机源的特定结果序列(使用诸如Int的函数)的程序在依赖性改变其从全局随机源消耗的量时可能被破坏。为了避免这种破坏,需要特定结果序列的程序应使用NewRand(NewSource(seed))来获得其他包不能访问的随机生成器。(SA1019)
我无法理解如何按照建议使用NewRand(NewSource(seed))
。
我找到了关于NewSource的文档https://pkg.go.dev/math/rand#NewSource
但是没有关于NewRand
函数的文档
新推荐的rand.Seed(SEED)
的等效项是什么?
1条答案
按热度按时间ryevplcw1#
Go语言1.20 Seed文档有一处拼写错误,请按照最新文档和Go 1.20 release notes中的说明使用
rand.New(rand.NewSource(seed))
。创建随机源并在源上使用方法,而不是调用包函数: