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{})
}
相关推荐
XiYang-DING6 小时前
【Java EE】CAS(Compare And Swap)
java·开发语言·java-ee
OneT1me6 小时前
CVE-2026-31431 的C语言版本
c语言·开发语言·安全威胁分析
白露与泡影7 小时前
Spring Boot 完整流程
java·spring boot·后端
Mr.Rice.Fool7 小时前
rust面试经验1
后端·面试·职场和发展·rust
xun-ming7 小时前
AI时代Java程序员自救手册
java·开发语言·人工智能
张健11564096487 小时前
C++访问控制与友元
java·开发语言·c++
2zcode7 小时前
基于MATLAB改进最大熵法的大规模新能源并网概率潮流计算
开发语言·matlab
一只幸运猫.8 小时前
JAVA后端面试题
java·开发语言
还是阿落呀8 小时前
基本控制结构
开发语言·c++·算法
笑虾8 小时前
Win10 修改注册表 让鼠标悬停PNG上时 tip 始终显示分辨率
开发语言·javascript·ecmascript