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 命令行使用
相关推荐
东风破_9 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
嘻哈∠※9 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
卷无止境10 小时前
在 awesome-fastapi 里,哪些库值得一看?
后端·python
圣殿骑士-Khtangc11 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
卷无止境11 小时前
FastAPI 的Admin面板生态
后端·python
捡田螺的小男孩12 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒12 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
用户83562907805113 小时前
Python 自动化 Word 文本框处理:创建、定位、填充内容与管理
后端·python
网渡科技13 小时前
向量数据库选型指南:RAG场景下的性能对比与调优策略
后端
riverNijika13 小时前
项目学习笔记:C++基础同步输出日志库
后端