良く利用されるようでので、早速導入したいと思います。チュートリアルを自分が今作っているマイクロブログに当てはめただけです。導入前は以下のように、自前でインスタンスを生成して引数として渡していました。server}これはこれでシンプルなのですが、repositoryやusecaseが増えてくると大変そうです。wireは上記のようなソースコードを自動生成してくれるツールです。github.com/google/wire/cmd/wire@latestwire.goを記述wireは、wire.goとそこで指定されているコンストラクタ関数から自動でDI用のコードを自動生成してくれます。今回のケースでは、以下のようにwire.goを記述しました。wire.Build()で各構造体のコンストラクタ関数を列挙しておくと、勝手にソースコードから関連性を把握してくれるようです。以下のコマンドでDI用のコード(wire_gen.go)を自動生成します。/Users/xxx/xxx/microblog/wire_gen.goトラブルシューティングwireの設定や実装がおかしいとwire実行時にエラーが発生します。failurewire_gen.goの内容DI導入前に自前で実装していたコードと全く同じ内容が自動再生されていました。server}main.goから呼び出し最後に、mian.goから対象のコードを呼び出せば完了です。以下のようにしてアプリケーションを実行します。.main.goを指定すると、以下のようにwire.goの内容が読み込まれずにエラーが発生します。InitializeServerビルドしてから実行するのもありです。実行microblogさいごに今回、実装したソースコードは以下のリポジトリで公開してます。