在对文件进行热更新时,需要监听文件的变化,记录下go中实现文件监听的一种方式。
 
 
go代码示例:
   当文件被重命名或删除时,执行更新操作(此处为打印delete)

package main

import (
	"fmt"
	"github.com/fsnotify/fsnotify"
)

func main(){
	watcher, _ := fsnotify.NewWatcher()
	watcher.Add("test.txt")
	defer watcher.Close();
	select {
	case event := <-watcher.Events:
		{
			if event.Op&fsnotify.Rename == fsnotify.Rename || event.Op&fsnotify.Remove == fsnotify.Remove {
				fmt.Println("delete")
			} else if event.Op&fsnotify.Write == fsnotify.Write {
			} else if event.Op&fsnotify.Create == fsnotify.Create {

			}
		}
	case err := <-watcher.Errors:
		fmt.Println(err.Error())
	}
}

 
如有不对,烦请指出,感谢~