作者:茶不离 | 来源:互联网 | 2023-10-10 16:11
Viper包的钩子函数自动监听配置文件是否改变改变以后又做什么操作viper.WatchConfig()自动判断配置文件是否改变viper.OnConfigChange(func(
Viper包的钩子函数
viper.WatchConfig()
// 自动判断配置文件是否改变
viper.OnConfigChange(func(e fsnotify.Event) {
// 配置文件发生变更之后会调用的回调函数
fmt.Println("Config file changed:", e.Name)
// 反序列化到配置结构体中,Conf是指针所以改的跟上面的Conf是同一个东西
if err := viper.Unmarshal(Conf); err != nil {
fmt.Printf("Unmarshal failed ,err:#{err}\n")
}
// 当然你想做其他事也可以,这里就是个钩子函数。当改变了配置文件以后就干啥干啥
})