Go 如何防止将负整数视为速记标志
我需要解析包含负整数的命令行参数,spf13/cobra是首选库:Go 如何防止将负整数视为速记标志,go,go-cobra,Go,Go Cobra,我需要解析包含负整数的命令行参数,spf13/cobra是首选库: go run main.go write -d 1 -a mock -e int 0 2 -1 不幸的是,cobra认为-1是一个速记标志,当然没有定义: Error: unknown shorthand flag: '1' in -1 我在-1附近尝试了单引号和双引号测试,结果相同。如何让cobra将负整数保留为args而不是标志?它按预期工作:无法区分参数和标志 调用方有责任使用--使其明确无误: --表示“这些破折号
go run main.go write -d 1 -a mock -e int 0 2 -1
不幸的是,cobra认为-1
是一个速记标志,当然没有定义:
Error: unknown shorthand flag: '1' in -1
我在
-1
附近尝试了单引号和双引号测试,结果相同。如何让cobra将负整数保留为args而不是标志?它按预期工作:无法区分参数和标志
调用方有责任使用--
使其明确无误:
--
表示“这些破折号后面的任何内容都是参数”
参考资料:
--
使其明确无误:
--
表示“这些破折号后面的任何内容都是参数”
参考资料:
go run main.go write-d1-a mock-e int--02-1
?go run main.go write-d1-a mock-e int--02-1
?
go run main.go write -d 1 -a mock -e int -- 0 2 -1