2017-03-04 35 views
1

我有一個yaml配置文件,它具有我的程序的所有設置。 例如:GoLang用viper更改配置項的值

something: 
    enabled: true 

我使用https://github.com/spf13/viper得到一個物品的價值:

viper.GetBool("something.enabled") 

但我不知道是否有一種方法可以直接改變的值「something.enabled」使用毒蛇「假」?這些變化將適用的配置文件,以及因此,它將成爲:

something: 
    enabled: false 
+0

您的意思是:當您更改配置文件時,程序中的配置也會更新?如果是的話,你需要用'fsnotify'來看你的配置文件。更改文件時,使用該事件重新加載配置。 – apxp

+0

@apxp不完全是,我的意思是程序更新配置文件中的一個項目的值。與你所說的相反。 – SuperPykkon

+1

在這種情況下,我會建議通過使用yaml包來讀取和編組配置文件。然後你可以寫入conf文件。 – apxp

回答

2

看起來你可以只使用Set方法,像這樣:

viper.Set(「something.enabled」假)