Example:
```go
- watcher, err := fsnotify.NewWatcher()
- if err != nil {
- log.Fatal(err)
- }
-
- // Process events
- go func() {
- for {
- select {
- case ev := <-watcher.Event:
- log.Println("event:", ev)
- case err := <-watcher.Error:
- log.Println("error:", err)
- }
- }
- }()
-
- err = watcher.Watch("/tmp")
- if err != nil {
- log.Fatal(err)
- }
-
- /* ... do stuff ... */
- watcher.Close()
+package main
+
+import (
+ "log"
+
+ "github.com/howeyc/fsnotify"
+)
+
+func main() {
+ watcher, err := fsnotify.NewWatcher()
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ done := make(chan bool)
+
+ // Process events
+ go func() {
+ for {
+ select {
+ case ev := <-watcher.Event:
+ log.Println("event:", ev)
+ case err := <-watcher.Error:
+ log.Println("error:", err)
+ }
+ }
+ }()
+
+ err = watcher.Watch("testDir")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ <-done
+
+ /* ... do stuff ... */
+ watcher.Close()
+}
```
For each event: