2
我使用本地golang包「container/list」來管理堆棧中的inotify事件。當我訪問堆棧的項目時,我遇到了類型錯誤(我認爲)。foo.Name undefined(type interface {}沒有字段或方法名稱)
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。
隨着錯誤消息,我認爲這是一個接口的類型對象接受的問題,但我沒有找到如何定義類型。
它的工作原理,並與文檔,我可以解決我的問題,期貨。 –