欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[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)
    }
}

[Go] gocron源码阅读-通过第三方cli包实现命令行参数获取和管理