Rumah >pembangunan bahagian belakang >Golang >rand.Seed(SEED) tidak digunakan lagi, bagaimana untuk menggunakan NewRand(NewSeed( ) )?

rand.Seed(SEED) tidak digunakan lagi, bagaimana untuk menggunakan NewRand(NewSeed( ) )?

PHPz
PHPzke hadapan
2024-02-15 16:00:10689semak imbas

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

editor php Xigua di sini untuk berkongsi dengan anda penyelesaian Apabila kami menggunakan rand.Seed(SEED) tidak digunakan, kami boleh menggunakan NewRand(NewSeed()) sebaliknya. Fungsi NewSeed() boleh menjana benih baharu, dan fungsi NewRand() boleh menggunakan benih baharu ini untuk menjana nombor rawak. Pendekatan ini membantu kami terus menggunakan fungsi penjanaan nombor rawak tanpa had rand.Seed(SEED) ditamatkan. Dengan cara ini kita boleh menyelesaikan masalah ini dengan mudah dan terus menggunakan fungsi penjanaan nombor rawak.

Kandungan soalan

Saya sedang belajar pergi sekarang.

Saya contoh, saya ada baris ini

rand.seed(seed)

Tetapi sambungan vscode untuk go memberitahu saya

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)

Saya tidak faham cara menggunakan newrand(newsource(seed)) seperti yang dicadangkan.

Saya menjumpai dokumentasi tentang sumber baru https://pkg.go.dev/math/rand#newsource

Tetapi tiada dokumentasi tentang fungsi newrand

Apakah yang disyorkan bersamaan dengan rand.seed(seed)? rand.seed(seed) 等效项是什么?

解决方法

go 1.20 种子文档有一个拼写错误。按照最新文档中的说明使用 rand.new(rand.newsource(seed))Penyelesaian

go 1.20 dokumen torrent

Terdapat ralat ejaan. Ikut arahan dalam dokumentasi terkinirand.new(rand.newsource(seed)) code> a> dan

go 1.20 Nota Keluaran🎜. 🎜 🎜 Cipta sumber rawak dan gunakan kaedah pada sumber dan bukannya memanggil fungsi pakej: 🎜
r := rand.New(rand.NewSource(seed))
  fmt.Println(r.Uint64())
  fmt.Println(r.Uint64())

Atas ialah kandungan terperinci rand.Seed(SEED) tidak digunakan lagi, bagaimana untuk menggunakan NewRand(NewSeed( ) )?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam