在GO的Cobra,lib中,有两个input标志可以接受多个值的传递,其中一个是StringArray
,使用方法如下:
--flag=value1 --flag=value2
它会生成一个数组["value1", "value2"]
。我正在为一个需要更复杂输入的工具开发一个直接替代工具:
--flag=valueA1 valueB1 --flag=valueA2 valueB2
它应该生成数组将是["valueA1 valueB1", "valueA2 valueB2"]
在cobra中有没有一种方法可以解析整个字符串直到下一个标志,并像上面那样将其包含在StringArray值中?
1条答案
按热度按时间8hhllhi21#
cobra中没有内置的方法来实现这一点,因为这会产生歧义,例如,当还有一个名为
valueB1
或valueB2
的子命令时,不清楚这些子命令是应该作为子命令执行还是解释为--flag
的附加参数。支持这样的输入的标准方法是期望输入值被引用,cobra支持这种方法。例如: