問題タブ [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.

0 投票する
1 に答える
2664 参照

go - Viper で ENV 変数を使用して構成をオーバーライドする際の問題

Viper を使用して構成ファイルを読み取って解析していますが、そのすべてが問題なく動作します。

ただし、env 変数を使用して構成値の一部をオーバーライドすることはできません。これらは、構成が構造体または構造体の配列にバインドされている特定の使用例です。

config.yaml の例を次に示します。

次の構造体(golang)にバインドされています:

環境変数を使用してベリファイアの値をオーバーライドすることはできません。

使用した Viper オプションは次のとおりです。

誰かが同様の問題を経験したことがありますか、または Viper がそのようなユースケースをサポートしていないことを確認できますか?

任意のポインタをいただければ幸いです。

ありがとう

0 投票する
1 に答える
2196 参照

go - Go (golang)、コブラ、およびバイパーを使用する場合の StringVar と StringVarP または String と StringP の違いは何ですか?

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

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

そして、次の行に

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

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

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

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

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

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

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

0 投票する
1 に答える
1828 参照

go - viper を使用して環境ファイルから構成を読み取る

viperの仕組みがよくわかりません。これは私のコードです:

configuration.go

.env SERVER_PORT=:4747

問題は、Unmarshal が機能しないことです。たとえば、configuration.Server.Port を使用すると空になります。