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 命令行使用
相关推荐
IT空门:门主6 小时前
spring ai alibaba -流式+invoke的人工介入的实现
java·后端·spring
fliter6 小时前
4 个字节拿到 root 权限:Linux 内核漏洞"Copy Fail"与 Cloudflare 的应急处置全记录
后端
fliter6 小时前
Cloudflare 推出 Flagship:为 AI 时代重新设计的功能开关服务
后端·算法
掘金者阿豪7 小时前
折腾了两天,终于把SQLAlchemy连上了金仓数据库
后端
SamDeepThinking7 小时前
RocketMQ消息可靠性的三道关卡
java·后端·程序员
木雷坞8 小时前
AI Agent 接上 MCP 后,我把环境边界重新排了一遍
后端
欧雷殿8 小时前
AI 原生团队搭建:一人也能做人生 CEO
后端·agent·aiops
敲敲千反田8 小时前
Spring 相关
java·后端·spring
小碗羊肉8 小时前
【JavaWeb | 第四篇】分层解耦
java·后端·servlet
薪火铺子9 小时前
Redis 分布式锁与 Redisson 原理深度解析
java·redis·分布式·后端