2017-03-04 278 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”假)