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 分钟前
C++程序崩溃时内存泄漏的真相
后端
程序员爱钓鱼15 分钟前
Node.js 编程实战:数据库连接池与性能优化
javascript·后端·node.js
青鸟21817 分钟前
从资深开发到脱产管理的心态转变
后端·算法·程序员
程序员爱钓鱼21 分钟前
Node.js 编程实战:Redis缓存与消息队列实践
后端·面试·node.js
老华带你飞37 分钟前
建筑材料管理|基于springboot 建筑材料管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习·spring
Linux编程用C1 小时前
Docker+Vscode搭建(本地/远程)开发环境
vscode·后端·docker
用户21991679703911 小时前
.Net通过EFCore和仓储模式实现统一数据权限管控并且相关权限配置动态生成
后端·github
用户47949283569151 小时前
node_modules 太胖?用 Node.js 原生功能给依赖做一次大扫除
前端·后端·node.js
开心就好20251 小时前
苹果iOS设备免越狱群控系统完整使用指南与应用场景解析
后端
资深web全栈开发2 小时前
Casbin 权限管理深度解析:优势与最佳实践
golang·casbin·权限设计·go库介绍