在写的一个项目中涉及到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