在写的一个项目中涉及到time.Duration的参数,不清楚如何命令上传此类型的参数,于是需求变为将int转为time.Duration
实现如下
package main
import (
"flag"
"fmt"
"time"
)
func main() {
interval := flag.Int("interval", 10, "The interval of producer to create message")
flag.Parse()
fmt.Println(interval)
fmt.Println(*interval)
t := time.Duration(*interval) * time.Second
fmt.Println(t)
time.Sleep(t)
}
命令行调用
$ go run test.go -interval 1
0xc000096008
1
1s