大家好,我是 frank。 欢迎大家点击标题下方蓝色文字「Golang 语言开发栈」关注公众号。
01
介绍
Go 语言作为静态编译型语言,每次修改配置文件后,我们都需要重新编译,修改的配置信息才可以生效,而动态编译型语言修改配置文件可以自动生效,相对来说更方便一些。
fsnotifyviper02
fsnotify 源码解读
NewWatcher 函数:
fsnotifyNewWatcherNewWatcher*WatcherEventsErrorsEventerrorchannel事件:
EventEventsEventCreateWriteRemoveRenameChmodfor ... selectwatcherEventsErrorsEventHasStringHas监听器:
WatcherAddCloseRemoveWatchListEventsAdd03
fsnotify 使用示例
fsnotifyfsnotifyfsnotifyNewWatcherwatcherAdddeferClosegoroutineWritelog.txtlog.txt我们可以使用该特性,自动监听应用程序的配置文件,避免修改配置信息后,还需要重新编译并启动应用才可以生效。
04
总结
fsnotifyfsnotify建议感兴趣的读者朋友们,继续阅读该库的官方文档和源码,了解在不同系统平台中使用的注意事项,并有效运用在自己的项目中。
推荐阅读:
参考资料:
- https://pkg.go.dev/github.com/fsnotify/fsnotify
- https://github.com/fsnotify/fsnotify