golang fsnotify使用

Go 复制代码
package main

import (
	"log"

	"github.com/fsnotify/fsnotify"
)

func main() {
	// Create new watcher.
	watcher, err := fsnotify.NewWatcher()
	if err != nil {
		log.Fatal(err)
	}
	defer watcher.Close()

	// Start listening for events.
	go func() {
		for {
			select {
			case event, ok := <-watcher.Events:
				if !ok {
					return
				}
				log.Println("event:", event)
				if event.Op == fsnotify.Write {
					log.Println("modified file:", event.Name)
				}
			case err, ok := <-watcher.Errors:
				if !ok {
					return
				}
				log.Println("error:", err)
			}
		}
	}()

	// Add a path.
	err = watcher.Add("/Users/cobainzheng/tmp")
	if err != nil {
		log.Fatal(err)
	}

	// Block main goroutine forever.
	<-make(chan struct{})
}
相关推荐
现在就干1 分钟前
从卡死到秒出:百万级数据导出优化实战
后端
一乐小哥3 分钟前
从 JDK 到 Spring,单例模式在源码中的实战用法
后端·设计模式
nppe64 分钟前
sequlize操作mysql小记
前端·后端
Olrookie4 分钟前
ruoyi-vue(十一)——代码生成
笔记·后端
Moment12 分钟前
面试官:一个接口使用postman这些测试很快,但是页面加载很慢怎么回事 😤😤😤
前端·后端·面试
诗书画唱16 分钟前
【前端面试题】JavaScript 核心知识点解析(第二十二题到第六十一题)
开发语言·前端·javascript
冬天vs不冷17 分钟前
Java基础(九):Object核心类深度剖析
java·开发语言·python
悟空聊架构17 分钟前
Windows 自动连接 wifi 脚本
后端·架构
TS的美梦18 分钟前
【1:1复刻R版】python版火山图函数一键出图
开发语言·python·r语言·scanpy·火山图
江湖十年21 分钟前
万字长文:彻底掌握 Go 1.23 中的迭代器——原理篇
后端·面试·go