web-dev-qa-db-fra.com

Comment implémenter le sommeil aléatoire dans Golang

J'essaie d'implémenter un sommeil aléatoire (à Golang)

r := Rand.Intn(10)
time.Sleep(100 * time.Millisecond)  //working 
time.Sleep(r * time.Microsecond)    // Not working (mismatched types int and time.Duration)
15
Ravichandra

Faites correspondre les types d'argument à time.Sleep:

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

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

type Duration int64

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

30
abhink