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)
等效項是什麼?
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中文網其他相關文章!