Pourquoi le rand.Intn de Go renvoie-t-il systématiquement le même numéro à chaque exécution ?
La bibliothèque standard Go comprend un package rand pour générer des Nombres. Cependant, les utilisateurs peuvent rencontrer un problème où la fonction rand.Intn, qui génère un entier aléatoire dans une plage spécifiée, renvoie toujours la même valeur. Ce comportement peut être attribué à deux facteurs clés :
Source par défaut non initialisée :
Le package Rand utilise une source globale pour générer des nombres aléatoires. Par défaut, cette source n'est pas initialisée, conduisant à la génération de séquences déterministes. Pour résoudre ce problème, vous devez initialiser la source par défaut à l'aide de la fonction rand.Seed. Par exemple :
rand.Seed(time.Now().UnixNano())
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!