* Check if channels are closed in the example
* Check if the channels are closed before printing
go func() {
for {
select {
- case event := <-watcher.Events:
+ case event, ok := <-watcher.Events:
+ if !ok {
+ return
+ }
log.Println("event:", event)
if event.Op&fsnotify.Write == fsnotify.Write {
log.Println("modified file:", event.Name)
}
- case err := <-watcher.Errors:
+ case err, ok := <-watcher.Errors:
+ if !ok {
+ return
+ }
log.Println("error:", err)
}
}