2017-06-14 2 views
3

Je suis en train de mettre en œuvre le sommeil de temps aléatoire (en golang)Comment mettre en œuvre le sommeil aléatoire dans golang

r := rand.Intn(10) 
time.Sleep(100 * time.Millisecond) //working 
time.Sleep(r * time.Microsecond) // Not working (mismatched types int and time.Duration) 
+1

En relation: [conversion du temps. Durée du type de microsecondes en millisecondes dans golang] (https://stackoverflow.com/questions/41503758/conversion-of-time-duration-type-microseconds-value-to-milliseconds -in-golang/41503910 # 41503910). – icza

Répondre

13

Associez les types d'arguments à time.Sleep:

time.Sleep(time.Duration(r) * time.Microsecond) 

Cela fonctionne parce que time.Duration a uint64 comme type sous-jacent:

type Duration int64 

Docs: https://golang.org/pkg/time/#Duration