web-dev-qa-db-ja.com

golangでランダムスリープを実装する方法

ランダムタイムスリープを実装しようとしています(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

引数のタイプをtime.Sleepに一致させます:

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

これは、time.Durationがその基になる型としてint64を持っているため機能します。

type Duration int64

ドキュメント: https://golang.org/pkg/time/#Duration

30
abhink