#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)
```