Viper包的钩子函数

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")
		}
		// 当然你想做其他事也可以,这里就是个钩子函数。当改变了配置文件以后就干啥干啥
	})
posted @ 2022-01-25 01:00  taotaozh  阅读(95)  评论(0编辑  收藏  举报