#Go言語 ## 事象 [[time.Sleep]]で以下のコードが期待通り動かない。 ```go time.Sleep(3000) ``` ## 原因 引数がナノ秒のため処理が一瞬で終了している。[[time.Sleep]]の引数[[time.Duration]]だが、実質は[[int64]]型なのでエラーにはならない。 変換には以下の定数を乗算する必要がある。 ```go const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hour = 60 * Minute ) ``` ## 対策 ```go time.Sleep(30 * time.Second) ```