Golang Cobra CLI-标志和/或命令结构

Golang Cobra CLI-标志和/或命令结构,go,go-cobra,Go,Go Cobra,我不知道如何最好地问这个问题,所以我会解释我有什么,我想创造什么 我创建了一个简单的cli工具包来学习go。它是callgib,例如,gib-ip将返回我当前面向internet的ip或gib-secret将返回32个随机字符 最近,我决定使用go模块,并决定导入github.com/hashicorp/vault/shamir,将shamir共享作为类似于即将推出的D&D游戏魂器的东西来使用和演示 现在我陷入了困境。对于shamir,我设想如下: gib shamir共享——第5部分——阈

我不知道如何最好地问这个问题,所以我会解释我有什么,我想创造什么

我创建了一个简单的cli工具包来学习go。它是call
gib
,例如,
gib-ip
将返回我当前面向internet的ip或
gib-secret
将返回32个随机字符

最近,我决定使用go模块,并决定导入
github.com/hashicorp/vault/shamir
,将shamir共享作为类似于即将推出的D&D游戏魂器的东西来使用和演示


现在我陷入了困境。对于
shamir
,我设想如下:

  • gib shamir共享——第5部分——阈值3
    • 返回#部分b64编码字符串
B1lgYtfS
---
BOzvu89N
---
LNIr3b9b
---
5WNwMqUg
---
YOWAvR6R
  • gib shamir secret[ciphertext][ciphertext][ciphertext][ciphertext]
    • 以字符串形式返回secret(假设有足够的有效共享)
我的项目目前看起来像这样(由cobra add[command]生成):

├── 许可证
├── 指令
│   ├── ip.go
│   ├── root.go
│   ├── 秘密行动
│   └── 沙米尔·戈
├── go.mod
├── 加油
└── 梅因,加油

我应该使用像
gib shamir--shares--part 5--threshold 3
这样的标志,还是应该使用
cobra add secret-p shamir

如果是后者,如何最好地避免命名冲突?我的意思是,既然secret已经在使用,我应该选择一个不同的名称,还是应该使用文件夹结构或其他策略

抱歉,如果我不清楚,通常我只写讨厌的python脚本。提前感谢您的帮助:)