亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在帶有多個父項的 go cobra 中添加子命令

在帶有多個父項的 go cobra 中添加子命令

Go
江戶川亂折騰 2022-05-18 14:53:40
我想在我正在go使用的 cli 工具中選擇以下 cmd 調用cobra:$ mytool envs apps compare$ mytool envs vars compare因此,我正在創建命令并執行綁定,如下所示:    rootCmd.AddCommand(envsCmd)    envsCmd.AddCommand(appsCmd)    envsCmd.AddCommand(varsCmd)    varsCmd.AddCommand(compareCmd)    appsCmd.AddCommand(compareCmd)但是,在檢查子命令的父級時compare,結果總是appsvar compareCmd = &cobra.Command{    Hidden: false,    Use:    "compare",    Short:  "",    Long: ``,    RunE: func(cmd *cobra.Command, args []string) error {        fmt.Println(cmd.Parent().Use)apps無論我是否調用,上述內容總是會打印$ mytool envs apps compare或者$ mytool envs vars compare我是否應該假設至少使用我想要實現的目標是不可能的cobra?
查看完整描述

1 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

這些命令使用指針鏈接,因此您添加的最后一個成為父命令。請嘗試使用相同命令的兩個副本:


var baseCompareCmd = cobra.Command{...}

var varCompareCmd = baseCompareCmd

var appsCompareCmd = baseCompareCmd


varsCmd.AddCommand(&varCompareCmd)

appsCmd.AddCommand(&appsCompareCmd)


查看完整回答
反對 回復 2022-05-18
  • 1 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號