我需要解析包含负整数的命令行参数,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