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")
}
// 当然你想做其他事也可以,这里就是个钩子函数。当改变了配置文件以后就干啥干啥
})