Maison > développement back-end > Golang > le corps du texte

Pourquoi mon code Go continue-t-il à générer le même nombre aléatoire ?

Linda Hamilton
Libérer: 2024-10-26 12:43:29
original
681 Les gens l'ont consulté

Why Does My Go Code Keep Generating the Same Random Number?

Résoudre la génération répétitive de nombres aléatoires dans Go

Dans Go, la fonction rand.Intn(n int) int renvoie un entier pseudo-aléatoire dans la plage [0, n). Cependant, vous avez rencontré un problème où il imprime le même nombre de manière cohérente.

La documentation suggère que rand.Intn utilise la source par défaut, qui génère une séquence déterministe de valeurs. Pour personnaliser le comportement et garantir le caractère aléatoire, vous devez correctement amorcer la génération de nombres aléatoires.

Pour amorcer le générateur de nombres aléatoires, appelez la fonction rand.Seed(seed int64). Cette fonction initialise la source par défaut avec une valeur de départ. Une pratique courante consiste à utiliser l'horodatage Unix actuel :

<code class="go">rand.Seed(time.Now().UnixNano())</code>
Copier après la connexion

En amorceant le générateur, vous vous assurez que chaque exécution de votre programme produit des nombres aléatoires différents.

Si rand.Seed() n'est pas appelé, le générateur agit comme s'il était amorcé par 1, conduisant à la répétition observée.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!