Code
//整数を受け取って、Millisecondの倍数の時間でスリープ、既定は1000ミリ秒
multipleOfMS := flag.Int("m", 1000, "msの倍数")
flag.Parse()
time.Sleep(multipleOfMS * time.Millisecond)
Error
invalid operation: multipleOfMS * time.Millisecond (mismatched types *int and time.Duration)
Int型をtime.durationに変更
multipleOfMS := flag.Int("m", 1000, "msの倍数")
flag.Parse()
time.Sleep(time.Duration(multipleOfMS) * time.Millisecond)
やはりエラー
cannot convert multipleOfMS (type *int) to type time.Duration
いろいろ調べてflag.Durationというのがあってこっちを使うmultipleOfMS := flag.Duration("m", 1 * time.Second, "-m=2sのように設定")
flag.Parse()
time.Sleep(*multipleOfMS)
実行
//5秒sleep
go run main.go -m=5s
//500ミリ秒sleep
go run main.go -m=500ms
この記事がお役にたちましたらシェアをお願いします:)
0 件のコメント:
コメントを投稿