5

Go (golang)、Viper、およびCobraを使用して記述されたコードを保守しています。

1行で、次のとおりです。

rootCmd.PersistentFlags().String("cfg", "", "A description")

そして、次の行に

rootCmd.PersistentFlags().StringP("output", "o", ".", "Another description")

この文脈でStringとはどう違いますか?StringP

さまざまなチュートリアルの使用例を見ると、やなど、さまざまなメソッドのバージョンPと非バージョンがあるようです。PStringVarPStringVar

これらのバージョンの違いは何ですか? の意味は何Pですか?

P特定のメソッドに対応するメソッドがあるかどうかを確認する方法はありPますか?

検索エンジンは、cobra や viper のチュートリアル ページに誘導する傾向があり、これらのページでは、対応するものPや非P対応するものについて説明することなく、これらの方法を利用しています。

pflagsパラメータが短い(1文字​​)形式であるかどうかに関係している可能性があることを示唆する資料を見つけました。これでしょうか?

編集後のメモ: この質問に対する回答を受け取ったのでspf13/pflag、上記の golang フレームワークによって実際に内部で使用されているようです。ただし、cobra や viper を使用するときに pflags のドキュメントを確認する必要があるかどうかは、すぐにはわかりません。
これは Q&A サイトであるため、この回答を探しているときに入力したであろうキーワードの多くを削除した編集を元に戻しました.

4

1 に答える 1