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{})
}
相关推荐
umeelove35几秒前
Springboot的jak安装与配置教程
java·spring boot·后端
wjs20245 分钟前
jEasyUI 格式化下拉框
开发语言
2401_877274245 分钟前
C语言实现多态相关话题
c语言·开发语言
tangdou3690986556 分钟前
图文并茂安装Claude Code 以及配置 Coding Plan 教程
前端·人工智能·后端
C++chaofan8 分钟前
RPC框架SPI机制深度解析
java·网络·后端·网络协议·rpc·spi·序列化器
用户3167361303429 分钟前
javaLangchain4j从官方文档入手,看他做了什么——环境搭建(一)
后端
Gini10409810 分钟前
NatsJob分布式定时任务
后端
qwehjk200812 分钟前
实时语音处理库
开发语言·c++·算法
2301_8042154115 分钟前
自定义异常类设计
开发语言·c++·算法