zoukankan      html  css  js  c++  java
  • [Go] gocron源码阅读-通过第三方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)
        }
    }

  • 相关阅读:
    [译]git reflog
    [译]git rebase -i
    [译]git rebase
    [译]git commit --amend
    [译]git clean
    [译]git reset
    [译]git revert
    [译]git checkout
    [译]git log
    [译]git status
  • 原文地址:https://www.cnblogs.com/taoshihan/p/11872244.html
Copyright © 2011-2022 走看看