go - 如何防止将负整数视为速记标志
问题描述
我需要解析包含负整数的命令行参数,spf13/cobra 是首选库:
go run main.go write -d 1 -a mock -e int 0 2 -1
不幸的是,眼镜蛇认为这-1
是一个速记标志,当然没有定义:
Error: unknown shorthand flag: '1' in -1
我已经尝试过单引号和双引号-1
,结果相同。我怎样才能让 cobra 将负整数作为参数而不是标志?
解决方案
它按预期工作:无法区分参数和标志。
调用者有责任使用以下方法使其明确--
:
go run main.go write -d 1 -a mock -e int -- 0 2 -1
--
意思是“这些破折号之后的东西都是争论”
参考:
推荐阅读
- typescript - 有没有办法使用云功能将云 Firestore 连接到实时数据库?
- python - 如何使用python在博客api帖子插入中添加图像
- flutter - 如何在flutter中通过BLoC模式更新和显示从DB汇总的数据?
- python - 如何通过为行中的标签赋予适当的值来删除列的重复项?
- .net - Unity 的 Intellisense (VS Code) 无法在 Linux 中运行,需要仅适用于 Windows 的 .NET Dev Pack
- sql - 最新Windows安全更新后“查询”已损坏的解决方案是什么
- python - 如何查找频率表键列是否包含列表中的所有值
- mapbox - 如何使用 Mapbox JS GL 以自定义样式更改图层的可见性?
- java - 合并排序中的 java.lang.ArrayIndexOutOfBoundsException
- python - Python Zipfile:获取 zipfile 中的顶级目录