Golang命令行库

前言

有时候我们需要安装公司的软件,或者做个类似 node_explorer 的客户端采集程序,当 ./xx -h 的时候可以看到很多的命令行参数。Golang命令行参数我们可以通过内置的库 os.args 或者 flag库去实现,但是功能较弱。如果使用第三库 会更加功能丰富。

第三方库 cli库

##
https://github.com/urfave/cli

使用示例

接受普通的程序传参

package main

import (
    "fmt"
    "log"
    "os"

    "github.com/urfave/cli/v2"
)

/*

测试L go run .\t1.go knight
*/

func main() {
    app := &cli.App{
        Action: func(cCtx *cli.Context) error {
            fmt.Printf("Hello %q", cCtx.Args().Get(0))
            return nil
        },
    }

    if err := app.Run(os.Args); err != nil {
        log.Fatal(err)
    }
}

Flag增加选项参数,可加默认值

package main

import (
	"log"
	"os"

	"github.com/urfave/cli/v2"
)

func main() {
	app := &cli.App

你可能感兴趣的:(Golang,golang,开发语言,后端)