go之命令行工具urfave-cli

一、urfave/cli

urfave/cli 是一个声明性的、简单、快速且有趣的包,用于用 Go 构建命令行工具。

二、快速使用

2.1 引入依赖
bash 复制代码
go get github.com/urfave/cli/v2
2.2 demo
Go 复制代码
package main

import (
    "fmt"
    "log"
    "os"

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

func main() {
	// 创建 urfave app 实例
	app := &cli.App{
		// 设置命令
		Commands: []*cli.Command{
			{
				Name:    "add",
				Aliases: []string{"a"},
				Usage:   "add a task to the list",
				Flags: []cli.Flag{
					&cli.StringFlag{
						Name:  "type",
						Value: "daily",
						Usage: "add eat --type=daily",
					},
				},
				Action: func(cCtx *cli.Context) error {
					fmt.Println("added task: ", cCtx.Args().First(), "type=", cCtx.String("type"))
					return nil
				},
			},
		},
	}
	// 启动命令
	if err := app.Run(os.Args); err != nil {
		log.Fatal(err)
	}
}
2.3 命令行使用
相关推荐
风一样的树懒6 分钟前
面试中你有遇到:MVCC机制的问题?
后端
惜鸟16 分钟前
Pydantic 的 BaseSettings 配置解析
后端·python
Java中文社群23 分钟前
Dify实战案例:MySQL查询助手!嘎嘎好用
java·人工智能·后端
bobz9651 小时前
源码编译 libvirt
后端
道友小小怪1 小时前
Spring Bean的生命周期及常见问题
后端·spring·面试
Java微观世界1 小时前
让你秒懂字符集与编码:详解ASCII、GB2312、Unicode和UTF-8
后端
aiopencode1 小时前
WebDebugX 如何助力跨平台 WebView 页面调试?开发者实战拆解
后端
大麦若叶茶1 小时前
每天学习一点点之进程与线程、并行与并发
后端
咸虾米1 小时前
在uniCloud云对象内使用unipay的微信退款出现错误“uniPayCo.refund Error: token校验未通过”的解决方案
前端·后端
云胡1 小时前
Mybatis Plus 自定义 SQL
后端