我是Go语言的新手,正在尝试学习。

我编写了一个程序来遍历目录。它工作正常,但是当我尝试在go例程中运行程序时,它将返回:



我的功能是这样的:

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)
    }
}

我怎么解决这个问题?

谢谢。

最佳答案

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

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

关于go - filepath.Walk()返回0xc08402f180,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22130672/

10-10 06:44