filepath.Walk()返回0xc08402f180

时间:2014-03-02 17:12:52

标签: go goroutine

我是Go语言的新手并且正在努力学习。

我制作了一个程序来浏览一个目录。它运行正常,但是当我尝试在go例程中运行该程序时,它返回:

  

filepath.Walk()返回0xc08402f180

我的功能是:

func LoadData(root string) {
    runtime.GOMAXPROCS(runtime.NumCPU())
    c := make(chan error)
    go func() {c<-filepath.Walk(root, WalkFunc)}()
    if erw := c; erw != nil {
        fmt.Printf("filepath.Walk() returned %v\n", erw)
    // log.Fatal(erw)
    }
}

我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:4)

您正在打印频道,而不是从频道返回。试试这个

if erw := <-c; erw != nil {
    fmt.Printf("filepath.Walk() returned %v\n", erw)
//  log.Fatal(erw)
}