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

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

使用 Go (golang)、cobra 和 viper 時

使用 Go (golang)、cobra 和 viper 時

Go
冉冉說 2022-06-21 16:42:49
我正在維護一些使用 Go (golang)、Viper和Cobra編寫的代碼。在一條線上,它具有:rootCmd.PersistentFlags().String("cfg", "", "A description")然后在下一行它有rootCmd.PersistentFlags().StringP("output", "o", ".", "Another description")String在這種情況下和有什么區別StringP?查看各種教程中的示例用法,似乎有各種方法的版本P和非P版本,例如StringVarP和StringVar。這些版本有什么區別?的意義P何在?有沒有辦法可以判斷給定方法是否有P對應P物?搜索引擎傾向于將我帶到 cobra 或 viper 教程頁面,它們使用這些方法而不解釋P或不P對應。我發現一些材料pflags表明它可能與參數是否具有短(一個字母)形式有關。會是這樣嗎?編輯后說明:收到此問題的答案后,spf13/pflag上述golang框架似乎確實在后臺使用了它。但是,在使用 cobra 或 viper 時是否應該查看 pflags 文檔并不清楚。由于這是一個問答網站,我已經恢復了一個編輯,該編輯刪除了我在尋找這個答案時輸入的許多關鍵字,因為我覺得其他尋找相同信息的人會以這種方式得到更好的服務。
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

P后綴表示除全名外還接受單個字母標志名稱的函數,如 pflag 文檔的使用部分所述:

pflag 包還定義了一些不在 flag 中的新函數,它們為標志提供單字母簡寫。您可以通過將“P”附加到任何定義標志的函數的名稱來使用它們。

要回答您的個人問題:

  • 有什么區別:P函數需要一個額外的參數:單字母名稱。這個短標志可以與單個-.

  • 哪些方法有P對應物:所有方法,如pflag 參考中所示

至于為什么這被記錄在 pflag 而不是 viper 或 cobra 中,這是因為vipercobra都使用 pflag 庫。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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