Goが未使用のパッケージインポートの記述をエラーにするという挙動は多くの非難を浴びました。 「コンパイルエラーでなく警告にすべき」 または 「コンパイルオプションで選べる様にして欲しい」 というような意見はたくさん寄せられましたがGo開発コアメンバーはこれらの要望に応えることはありませんでした。その理由を解説します。 Goの依存解決のアプローチ Goの依存ツリーはコードの中に記述します。これはメジャーなパッケージマネージャとは異なる手法です。 多くの処理系では依存解決に必要な情報を言語仕様には含めず、別途ファイルに依存情報を列挙して記述しておき、それらの情報を辿ることで依存ツリーを構築しそのツリーに基づいて依存を解決するというアプローチを採用しているものがほとんどです。 Goは依存解決に必要な情報をコードの中に記述するというレアなアプローチを採りました。 ESモジュールのアイディアに近い考
