我有以下代码:
func loopThroughDirs(path string, fileInfo os.FileInfo, err error) error {
...do something with service...
return nil
}
func main() {
service, err := storage.New(client)
...
filepath.Walk(*dirName, loopThroughDirs)
}
我要解决的问题是这个,我想用service
inside loopThroughDirs()
。我该怎么做呢?
PS:loopThroughDirs
里面的函数filepath.Walk()
在 Go 中叫回调吗?
您也可以尝试返回一个WalkFunc
函数:
func main() {
service, err := storage.New(client)
...
filepath.Walk(*dirName, getWalkFunc(service))
}
func getWalkFunc(service storage.Service) filepath.WalkFunc {
return func(path string, fileInfo os.FileInfo, err error) error {
// ...do something with service...
return nil
}
}