foo.Name 未定义(类型接口 {} 没有字段或方法名称)

我使用本机 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 通过接口接受的问题,但我没有找到如何定义类型。


拉丁的传说
浏览 184回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP