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

我需要解析包含负整数的命令行参数,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 将负整数作为参数而不是标志?


桃花长相依
浏览 163回答 1
1回答

ibeautiful

它按预期工作:无法区分参数和标志。调用者有责任使用以下方法使其明确--:go run main.go write -d 1 -a mock -e int -- 0 2 -1--意思是“这些破折号之后的东西都是争论”参考:https://github.com/spf13/cobra/issues/124
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go