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{})
}
相关推荐
空空潍3 分钟前
Python核心基础语法
开发语言·python
霍理迪7 分钟前
JS其他常用内置对象
开发语言·前端·javascript
BYSJMG14 分钟前
计算机毕业设计选题推荐:基于Hadoop的城市交通数据可视化系统
大数据·vue.js·hadoop·分布式·后端·信息可视化·课程设计
王多鱼鱼鱼21 分钟前
QT如何将exe打包成可执行文件
开发语言·qt
BYSJMG24 分钟前
Python毕业设计选题推荐:基于大数据的美食数据分析与可视化系统实战
大数据·vue.js·后端·python·数据分析·课程设计·美食
DokiDoki之父24 分钟前
边写软件边学kotlin(一):Kotlin语法初认识:
android·开发语言·kotlin
liu****26 分钟前
Qt进阶实战:事件处理、文件操作、多线程与网络编程全解析
开发语言·网络·数据结构·c++·qt
草原上唱山歌27 分钟前
C++如何调用Python代码
开发语言·c++·python
木子啊29 分钟前
PHP中间件:ThinkCMF 6.x核心利器解析
开发语言·中间件·php
崇山峻岭之间30 分钟前
Matlab学习记录40
开发语言·学习·matlab