--- /dev/null
+package main\r
+\r
+import (\r
+ "log"\r
+ "github.com/fsnotify/fsnotify"\r
+)\r
+\r
+func main() {\r
+\r
+ watcher, err := fsnotify.NewWatcher()\r
+ if err != nil {\r
+ log.Fatal(err)\r
+ }\r
+ defer watcher.Close()\r
+\r
+ done := make(chan bool)\r
+ go func() {\r
+ for {\r
+ select {\r
+ case event, ok := <-watcher.Events:\r
+ log.Println("log event:", event)\r
+ \r
+ if !ok {\r
+ return\r
+ }\r
+ if event.Op&fsnotify.Write == fsnotify.Write {\r
+ log.Println("modified file:", event.Name)\r
+ }\r
+ case err, ok := <-watcher.Errors:\r
+ if !ok {\r
+ return\r
+ }\r
+ log.Println("error:", err)\r
+ // default:\r
+ // fmt.Println("default")\r
+ }\r
+ }\r
+ }()\r
+\r
+ err = watcher.Add("/tmp/foo")\r
+ if err != nil {\r
+ log.Fatal(err)\r
+ }\r
+ <-done\r
+}
\ No newline at end of file