この記事を書こうと思った動機 自分は今の仕事内容で全ファイルを列挙して調べるという作業が多いです その時、個人的にも好きで、プロジェクトでも推奨されているGo言語を利用して色々ツールを作っています その時、 filepath.Walk を使っていましたが、ある時 filepath.WalkDir が追加されていることを最近知りました どうやらGo 1.16で追加されたようです filepath.WalkDir がパフォーマンスいいらしいので色々調べてみました filepath.Walk と filepath.WalkDir の違い Issue に書いてありますがざっくりとだけ書きます 間違ってたらすみません 共通していること 第一引数の root に指定されたディレクトリから再帰的にファイルやディレクトリを列挙し、 第二引数の fn でフィルタリングやエラーハンドリングする シンボリックリ