如何防止负整数被视为速记标志



我需要解析包含负整数的命令行参数,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的单倍和双倍仲裁,结果相同。如何让眼镜蛇将负整数保留为 args 而不是标志?

它按预期工作:无法区分参数和标志。

调用方有责任使用--使其明确

go run main.go write -d 1 -a mock -e int -- 0 2 -1 

--的意思是"这些破折号之后的任何东西都是论据">

引用:

  • https://github.com/spf13/cobra/issues/124

最新更新