Go语言urfave/cl库学习

v1 先简单run 一下

package main

import (
	"fmt"
	"github.com/urfave/cli"
	"os"
)

func main() {
	app := cli.App{
		Action: func(c *cli.Context) {
			fmt.Println("hello")
		},
	}
	app.Run(os.Args)
}

在这里插入图片描述

Action 是一个 interface{}

v2 将Action 处的匿名函数拆出来

package main

import (
	"fmt"
	"os"

	"github.com/urfave/cli"
)

func main() {
	app := cli.App{
		Action: run,
	}
	app.Run(os.Args)
}

func run(c *cli.Context) {
	fmt.Println("hello")
}

v3 添加一个flag

package main

import (
	"fmt"
	"github.com/urfave/cli"
	"os"
)

type Config struct {
	username string
}

var config Config

func main() {
	app := cli.NewApp()
	app.Action = run
	app.Flags = []cli.Flag{
		cli.StringFlag{
			Name:   "username,u",
			Usage:  "user account",
		},
	}

	app.Run(os.Args)
}

func run(c *cli.Context) {
	config = Config{
		username: c.String("username"),
	}
	fmt.Println("你输入的用户名是:",config.username)
}

在这里插入图片描述

-u 即为选项
孙悟空 即为选项 -u 的参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值