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{})
}
相关推荐
曹牧5 分钟前
Java:XML被自动转义
xml·java·开发语言
愚润求学7 分钟前
【专题刷题】二分查找(一):深度解刨二分思想和二分模板
开发语言·c++·笔记·leetcode·刷题
EnigmaCoder8 分钟前
java面向对象编程【基础篇】之基础语法
java·开发语言
tanyongxi669 分钟前
手撕C++STL list:深入理解双向链表的实现
开发语言·c++·链表
南囝coding11 分钟前
关于我的第一个产品!
前端·后端·产品
草海桐17 分钟前
go 的 net 包
网络·golang·net
沙尘暴炒饭24 分钟前
vuex持久化vuex-persistedstate,存储的数据刷新页面后导致数据丢失
开发语言·前端·javascript
Msshu12327 分钟前
诱骗协议芯片支持PD2.0/3.0/3.1/PPS协议,支持使用一个Type-C与电脑传输数据和快充取电功能
c语言·开发语言·电脑
北漂老男孩43 分钟前
Spring Boot 自动配置深度解析:从源码结构到设计哲学
java·spring boot·后端
陈明勇44 分钟前
MCP 实战:用 Go 语言开发一个查询 IP 信息的 MCP 服务器
人工智能·后端·mcp