我使用本机 golang 包“容器/列表”来管理堆栈中的 inotify 事件。当我访问堆栈的项目时,我的类型失败了(我认为)。
import (
"golang.org/x/exp/inotify"
"container/list"
"log"
"fmt"
)
func main() {
stack := list.New()
watcher, err := inotify.NewWatcher()
if err != nil {
log.Fatal(err)
}
err = watcher.Watch(os.Args[1])
if err != nil {
log.Fatal(err)
}
for {
select {
case ev := <-watcher.Event:
stack.PushFront(ev)
fmt.Printf("%#v\n", ev)
}
foo := stack.Front().Value
fmt.Printf("%#v\n", foo)
log.Println("Name: ", foo.Name)
}
}
当我转储ev变量时,对象类型是&inotify.Event。当我弹出一个项目并转储变量时,我的对象类型是&inotify.Event。
对于错误消息,我认为这是 type object 通过接口接受的问题,但我没有找到如何定义类型。
相关分类