[Golang/Go言語]ファイル検索ツールを作って業務効率化を目指そう!

golang

こんにちは。KOUKIです。

とあるWeb系企業で、Goエンジニアをやっています。

今日は、Go言語でファイル検索ツールを作成しましょう。

シチュエーション

PC内で「README.md」ファイルを探したくなったとします。

そんな時に、役立つツールです。

実装1

早速、実装しましょう。

「searchDir」に検索したいディレクトリのパスを指定してください。そして、「targetFileName」には検索したいファイル名を指定します。

fileSearch関数の挙動としては、コメントに書いてあるとおりなので割愛させていただきます。

プログラムを実行してみましょう。

OKですね。処理時間も18sとまずまずの結果です。

平行処理

Go言語には、Goroutineという平行処理を簡単に実装できる機能がありますので、それを使ってみましょう。

追加したところにコメントをしました。

キーワードとしては、

  • go ・・・ goroutine起動
  • WaitGroup ・・・ goroutine完了制御
  • Mutex ・・・変数などのメモリの読み書き制御

ですね。

詳細は、以下の記事を参考にしてください。ここでは、goroutine制御に必要なものという認識でいていただければ幸いです。

それでは、プログラムを実行しましょう。

なんと、1/3以下のスピードで処理が完了しました!

便利ですね^^

これが、goroutineの力です!

おわりに

いかがだったでしょうか。

Go言語ならファイル検索プログラムを一瞬で実装することが可能ですし、goroutineを使えば処理速度の大幅Upも可能です^^

Go言語を勉強してみたくなりましたでしょうか?

ぜひぜひ、学んでみてください!

日本で、もっとGo言語が使われるようになればなと祈っています^^

それでは、また!

Go記事まとめ

Go記事をまとめます。

コメントを残す