我是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)
}
}
我该如何解决这个问题?
感谢。
答案 0 :(得分:4)
您正在打印频道,而不是从频道返回。试试这个
if erw := <-c; erw != nil {
fmt.Printf("filepath.Walk() returned %v\n", erw)
// log.Fatal(erw)
}