GO cobra:StringArray标志中的空格分隔值

zu0ti5jz  于 2023-02-01  发布在  Go
关注(0)|答案(1)|浏览(186)

在GO的Cobra,lib中,有两个input标志可以接受多个值的传递,其中一个是StringArray,使用方法如下:

--flag=value1 --flag=value2

它会生成一个数组["value1", "value2"]。我正在为一个需要更复杂输入的工具开发一个直接替代工具:

--flag=valueA1 valueB1 --flag=valueA2 valueB2

它应该生成数组将是["valueA1 valueB1", "valueA2 valueB2"]
在cobra中有没有一种方法可以解析整个字符串直到下一个标志,并像上面那样将其包含在StringArray值中?

8hhllhi2

8hhllhi21#

cobra中没有内置的方法来实现这一点,因为这会产生歧义,例如,当还有一个名为valueB1valueB2的子命令时,不清楚这些子命令是应该作为子命令执行还是解释为--flag的附加参数。
支持这样的输入的标准方法是期望输入值被引用,cobra支持这种方法。例如:

--flag="valueA1 valueB1" --flag="valueA2 valueB2"

相关问题