2016-07-10 8 views
4

Go 1.7rc1を使ってGoLangアプリを書いています。filepath.Walk() - どのディレクトリを歩かないのかに関するルールを提供できますか?

今、特定のパスですべてのgoファイルを検索したいと思います。それ以外に、私はいくつかのディレクトリを歩きたくない。例えば.. .gitのような隠しディレクトリ。

は、いくつかのルールをWalk()に提供する方法はありますか?これらの機能を提供する別のライブラリがありますか?今、このため

は私のコードです:

func visit(path string, f os.FileInfo, err error) error { 
    fmt.Printf("Visited: %s\n", path) 
    return nil 
} 

func main() { 
    filepath.Walk(path,visit) 
} 

問題に関するあらゆる情報をいただければ幸いです。ありがとう!

答えて

6

訪問機能からエラーfilepath.SkipDirを返すことで、ディレクトリをスキップすることができます。

ここで.gitディレクトリをスキップする方法は次のとおりです。

func visit(path string, f os.FileInfo, err error) error { 
    if f.Name() == ".git" { 
     return filepath.SkipDir 
    } 
    fmt.Printf("Visited: %s\n", path) 
    return nil 
} 
関連する問題