我是Go语言的新手,正在尝试学习。
我做了一个程序来遍历一个目录。它工作正常,但是当我尝试在go例程中运行该程序时,它会返回:
文件路径。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 %vn", erw)
// log.Fatal(erw)
}
}
如何解决这个问题?
谢谢。
您打印的是通道,而不是通道的返回。 试试这个
if erw := <-c; erw != nil {
fmt.Printf("filepath.Walk() returned %vn", erw)
// log.Fatal(erw)
}