我有以下代码:
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 里面 使用loopThroughDirs()。我该怎么做呢?
service
loopThroughDirs()
PS:loopThroughDirs内部的函数filepath.Walk()在Go中称为回调吗?
loopThroughDirs
filepath.Walk()
您也可以尝试返回一个WalkFunc函数:
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 } }