2017-11-08 10 views
1

複数の設定ファイルをViperにロード/マージすることは可能ですか?プログラムの入力に応じて、それぞれのクライアント用の設定を持つ、クライアント用の設定ファイルとそのプログラムの設定を含む一般設定ファイルがあるとします。go-viperを使用した複数の設定ファイル

ありがとうございました。

答えて

3

viperReadInConfigMergeInConfigを複数回呼び出すことができます。

  • $path/default.[yaml|toml|json]
  • $path/$context.[yaml|toml|json]
  • ./config.[yaml|toml|json]

viper.SetConfigName("default") 
viper.AddConfigPath(path) 
viper.ReadInConfig() 

if context != "" { 
    viper.SetConfigName(context) 
    viper.AddConfigPath(path) 
    viper.MergeInConfig() 
} 

viper.SetConfigName("config") 
viper.AddConfigPath(".") 
viper.MergeInConfig() 

それは、この順序でこれらのファイルを読み取ります。ここでは(未テスト)の例であります

関連する問題