github.com/gogf/gf@v1.16.9/.example/os/gfsnotify/fsnotify.go (about) 1 package main 2 3 import ( 4 "log" 5 6 "github.com/fsnotify/fsnotify" 7 "github.com/gogf/gf/os/glog" 8 ) 9 10 func main() { 11 // 创建一个监控对象 12 watch, err := fsnotify.NewWatcher() 13 if err != nil { 14 log.Fatal(err) 15 } 16 defer watch.Close() 17 //添加要监控的对象,文件或文件夹 18 //err = watch.Add("D:\\Workspace\\Go\\GOPATH\\src\\gitee.com\\johng\\gf\\geg\\other\\test.go") 19 err = watch.Add("/Users/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/.example/other/test.go") 20 if err != nil { 21 log.Fatal(err) 22 } 23 //我们另启一个goroutine来处理监控对象的事件 24 go func() { 25 for { 26 select { 27 case ev := <-watch.Events: 28 glog.Println(ev) 29 30 case err := <-watch.Errors: 31 log.Println("error : ", err) 32 return 33 34 } 35 } 36 }() 37 38 //循环 39 select {} 40 }