我对Go来说很新,这是我在Cobra的第一个项目。
使用命令行工具在Cobra中创建命令似乎很容易:
cobra add <command>
添加子命令似乎也很容易
cobra add <subcommand> -p '<command>'
我遇到问题的地方有两个不同命令的子命令,但子命令的名称相同。例如:
我可能会有一个名为“人物”的命令。以及一个名为&#39; places&#39;的命令
cobra add people
cobra add places
每个命令都需要自己的子命令叫做&#39;添加&#39;
cobra add add -p 'people'
cobra add add -p 'places'
第二个命令将失败,因为它会尝试创建一个“add.go”#39;已由第一个命令创建的文件。是否可以将相同名称的子命令添加到不同的父命令中?最终结果如下:
people add --first "bob" --last "smith"
places add "someplace" --zip "12345"
答案 0 :(得分:2)
所有command add
都会为您生成Go源文件。你可以自己写文件;或者您可以获取创建的第一个,重命名,然后创建下一个。您还可能必须在生成的文件中重命名一些全局变量/函数,以避免名称冲突。