【go】go类库-命令行工具cli

本文介绍了如何利用Go语言中的urfave/cli库创建一个命令行工具,包括设置命令、参数和标志,以及如何从命令行读取输入并执行相应操作。示例展示了如何创建一个名为`test`的命令,接收`uid`和`username`两个参数,并在执行时打印出来。

go类库:命令行工具cli

  • 1-引入库:go get github.com/urfave/cli

  • 2-code

// main.go
package main
import (
	"fmt"
	"os"
	"github.com/urfave/cli"
)
func main() {
	app := cli.NewApp()
	app.Commands = []cli.Command{
		{
			// 命令名称
			Name:  "test",
			Usage: "test --uid=x --username=y",
			// 通过Action 指定该命令执行方法
			Action: (&Command{}).Test,  
			Flags: []cli.Flag{
				cli.IntFlag{
					Name: "uid",
					Usage:"--uid",
				},
				cli.StringFlag{
					Name:"username",
					Usage:"--username",
				},
			},
		},
	}
	err := app.Run(os.Args)
	if err != nil {
		fmt.Print("command error :" + err.Error())
	}
}

// command.go
package main

import (
	"fmt"
	"github.com/urfave/cli"
)
type Command struct {
}

func (com *Command) Test(cli *cli.Context) {
	uid := cli.Int("uid")
	username := cli.String("username")
	fmt.Println(uid,username)
}

// 1-idea调试添加启动参数
PROGRAM ARGUMENTS:test --uid=111 --username="xiaoai"  // 结果:111 xiaoai

// 2-构建成二进制可执行文件启动  或者直接go build 打包成.exe可执行文件
go build -o test.bin  
test.bin test --uid=111 --username=xiaoai // 结果:111 xiaoai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值