Multiplication de la durée par un nombre entier dans Go
Pour créer un délai dans une fonction Go, vous avez peut-être tenté d'utiliser le temps. Dormir avec un durée aléatoire générée à l’aide de rand.Int31n. Cependant, si vous rencontrez une erreur indiquant que les types ne correspondent pas, voici comment la résoudre :
Dans votre code, vous avez écrit :
time.Sleep(rand.Int31n(1000) * time.Millisecond)
Cette ligne tente de multiplier un int32 (renvoyé par rand.Int31n) par un time.Duration (la constante time.Millisecond). Cependant, ces types sont incompatibles, ce qui conduit à l'erreur.
Pour remédier à cela, vous devez convertir le int32 en time.Duration avant de le multiplier. Voici le code corrigé :
time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)
En convertissant le int32 en time.Duration, vous vous assurez que la multiplication est effectuée entre types compatibles, résolvant ainsi l'erreur. Cela permettra à votre fonction de s'arrêter pendant une durée aléatoire pouvant aller jusqu'à une seconde.
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!