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{})
}
相关推荐
_extraordinary_5 分钟前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
你的人类朋友8 分钟前
什么是断言?
前端·后端·安全
@。1241 小时前
对于灰度发布(金丝雀发布)的了解
开发语言·前端
程序员小凯1 小时前
Spring Boot缓存机制详解
spring boot·后端·缓存
i学长的猫2 小时前
Ruby on Rails 从0 开始入门到进阶到高级 - 10分钟速通版
后端·ruby on rails·ruby
用户21411832636022 小时前
别再为 Claude 付费!Codex + 免费模型 + cc-switch,多场景 AI 编程全搞定
后端
hsjkdhs2 小时前
C++之多层继承、多源继承、菱形继承
开发语言·c++·算法
茯苓gao2 小时前
Django网站开发记录(一)配置Mniconda,Python虚拟环境,配置Django
后端·python·django
Full Stack Developme2 小时前
Python Redis 教程
开发语言·redis·python
Cherry Zack2 小时前
Django视图进阶:快捷函数、装饰器与请求响应
后端·python·django