Maison > développement back-end > Golang > rand.Seed(SEED) est obsolète, comment utiliser NewRand(NewSeed( ) ) ?

rand.Seed(SEED) est obsolète, comment utiliser NewRand(NewSeed( ) ) ?

PHPz
Libérer: 2024-02-15 16:00:10
avant
689 Les gens l'ont consulté

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

L'éditeur php Xigua est là pour partager une solution avec vous. Lorsque nous utilisons rand.Seed(SEED) est obsolète, nous pouvons utiliser NewRand(NewSeed()) à la place. La fonction NewSeed() peut générer une nouvelle graine, et la fonction NewRand() peut utiliser cette nouvelle graine pour générer des nombres aléatoires. Cette approche nous aide à continuer à utiliser la fonctionnalité de génération de nombres aléatoires sans que les limitations de rand.Seed(SEED) soient obsolètes. De cette façon, nous pouvons facilement résoudre ce problème et continuer à utiliser la fonctionnalité de génération de nombres aléatoires.

Contenu des questions

J'apprends à aller maintenant.

Je suis un exemple, j'ai cette ligne

rand.seed(seed)
Copier après la connexion

Mais l'extension vscode pour go m'a dit

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)
Copier après la connexion

Je n'arrive pas à comprendre comment utiliser newrand(newsource(seed)) comme suggéré.

J'ai trouvé la documentation sur newsource https://pkg.go.dev/math/rand#newsource

Mais il n'y a aucune documentation sur la fonction newrand

Quel est le nouvel équivalent recommandé de rand.seed(seed) ? rand.seed(seed) 等效项是什么?

解决方法

go 1.20 种子文档有一个拼写错误。按照最新文档rand.new(rand.newsource(seed))Solution de contournement

document torrent go 1.20

Il y a une faute d'orthographe. Suivez les instructions dans la dernière documentationrand.new(rand.newsource(seed)) a> et

notes de version go 1.20🎜. 🎜 🎜 Créez une source aléatoire et utilisez des méthodes sur la source au lieu d'appeler les fonctions du package : 🎜
r := rand.New(rand.NewSource(seed))
  fmt.Println(r.Uint64())
  fmt.Println(r.Uint64())
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal