問題タブ [viper-go]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - Viper で ENV 変数を使用して構成をオーバーライドする際の問題
Viper を使用して構成ファイルを読み取って解析していますが、そのすべてが問題なく動作します。
ただし、env 変数を使用して構成値の一部をオーバーライドすることはできません。これらは、構成が構造体または構造体の配列にバインドされている特定の使用例です。
config.yaml の例を次に示します。
次の構造体(golang)にバインドされています:
環境変数を使用してベリファイアの値をオーバーライドすることはできません。
使用した Viper オプションは次のとおりです。
誰かが同様の問題を経験したことがありますか、または Viper がそのようなユースケースをサポートしていないことを確認できますか?
任意のポインタをいただければ幸いです。
ありがとう
go - Go (golang)、コブラ、およびバイパーを使用する場合の StringVar と StringVarP または String と StringP の違いは何ですか?
Go (golang)、Viper、およびCobraを使用して記述されたコードを保守しています。
1行で、次のとおりです。
そして、次の行に
この文脈でString
とはどう違いますか?StringP
さまざまなチュートリアルの使用例を見ると、やなど、さまざまなメソッドのバージョンP
と非バージョンがあるようです。P
StringVarP
StringVar
これらのバージョンの違いは何ですか? の意味は何P
ですか?
P
特定のメソッドに対応するメソッドがあるかどうかを確認する方法はありP
ますか?
検索エンジンは、cobra や viper のチュートリアル ページに誘導する傾向があり、これらのページでは、対応するものP
や非P
対応するものについて説明することなく、これらの方法を利用しています。
pflags
パラメータが短い(1文字)形式であるかどうかに関係している可能性があることを示唆する資料を見つけました。これでしょうか?
編集後のメモ: この質問に対する回答を受け取ったのでspf13/pflag
、上記の golang フレームワークによって実際に内部で使用されているようです。ただし、cobra や viper を使用するときに pflags のドキュメントを確認する必要があるかどうかは、すぐにはわかりません。
これは Q&A サイトであるため、この回答を探しているときに入力したであろうキーワードの多くを削除した編集を元に戻しました.
go - viper を使用して環境ファイルから構成を読み取る
viperの仕組みがよくわかりません。これは私のコードです:
configuration.go
.env
SERVER_PORT=:4747
問題は、Unmarshal が機能しないことです。たとえば、configuration.Server.Port を使用すると空になります。