Go flag 详解,实现二级子命令

日常开发使用到的命令行工具大都支持如下特性:本文就探讨一下 Go 语言中如何写一个拥有类似特性的命令行程序。类似于 shell 中的 ,在 Go 中可以使用 来获取命令行参数,这种临时使用一两个参数还可以,代码可维护性太差了,不推荐使用。其中 Args[0] 是程序的名称,Args[1] 是第一个参数,依此类推。Go 标准库自带的 包可以实现简单的命令行解析,我们模仿一下 命令的参数,示例如下:可以看到非常简单的几行代码,就实现了一个还不错的命令行小工具,支持 和 (效果是一致的),对于非
摘要由CSDN通过智能技术生成

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

微信图片_20210216141958

前言

日常开发使用到的命令行工具大都支持如下特性:

  • 文档自动生成(如 -h --help
  • 多级子命令(如 docker exec -it
  • 支持参数(如 ls -color=auto
  • 长短选项(如 -v--verbose
  • 全局选项(如 docker -D run -d nginx
  • Tab 自动补全

本文就探讨一下 Go 语言中如何写一个拥有类似特性的命令行程序。

os.Args

类似于 shell 中的 $1 $2 ,在 Go 中可以使用 os.Args 来获取命令行参数,这种临时使用一两个参数还可以,代码可维护性太差了,不推荐使用。

其中 Args[0] 是程序的名称,Args[1] 是第一个参数,依此类推。

image-20220627173544369

flag 快速开始

Go 标准库自带的 flag 包可以实现简单的命令行解析,我们模仿一下 ls 命令的参数,示例如下:

func main() {
	// 直接定义 flag,返回值为指针
	all := flag.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[虚幻私塾】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值