[Go] gocron源码阅读-通过第三方cli包实现命令行参数获取和管理
程序员文章站
2022-11-07 21:06:23
gocron源码中使用的是下面这个第三方包来实现的,下面就单独的拿出来测试以下效果,和官方flag包差不多 go get github.com/urfave/cli ......
gocron源码中使用的是下面这个第三方包来实现的,下面就单独的拿出来测试以下效果,和官方flag包差不多
go get github.com/urfave/cli
package main import ( "fmt" "log" "os" "github.com/urfave/cli" ) func main() { app := cli.newapp() var flags []cli.flag flags = append(flags, cli.stringflag{ name: "host", value: "0.0.0.0", usage: "bind host", }, cli.intflag{ name: "port,p", value: 5090, usage: "bind port", }, cli.stringflag{ name: "env,e", value: "prod", usage: "runtime environment, dev|test|prod", }) app.flags = flags app.action = func(c *cli.context) error { fmt.println("host:", c.string("host")) fmt.println("port:", c.string("port")) fmt.println("env:", c.string("env")) return nil } err := app.run(os.args) if err != nil { log.fatal(err) } }