ホームページ > バックエンド開発 > Golang > go コンパイラーは、メインで使用されないパッケージをコンパイルしますか?

go コンパイラーは、メインで使用されないパッケージをコンパイルしますか?

王林
リリース: 2024-02-09 14:27:34
転載
1120 人が閲覧しました

go コンパイラーは、メインで使用されないパッケージをコンパイルしますか?

php editor Strawberry は、メインで使用されたことのないパッケージを go コンパイラーがコンパイルするかどうかについての質問に喜んで答えます。 Go 言語では、コンパイラーは未使用のパッケージをコンパイルしません。これは、Go 言語の設計コンセプトがシンプルかつ効率的であることであり、未使用のコードのコンパイルに時間とリソースを無駄にしないためです。したがって、メイン パッケージに他のパッケージが導入されていて、その中の関数や変数が使用されていない場合、コンパイラはこれらの未使用のパッケージを無視するため、コンパイル速度とプログラムの実行効率が向上します。

質問内容

3つのパッケージA、B、Cなどを含むgoモジュールがあるとします。 main.go とそのすべてのインポートでは、パッケージ A と B のみが使用されています。私の質問は、go build によって生成されたバイナリにはパッケージ C のコードが含まれているかということです。

回避策

バイナリ ビルドには、main から参照されるすべてのシンボルの推移的クロージャーのみが含まれます。これには、インポートされたパッケージの関数とデータ、および使用されるタイプのすべてのメソッドのみが含まれます。したがって、パッケージ内に一度も使用されない関数がある場合、その関数はバイナリには表示されません。ただし、未使用のメソッドを含むデータ型を使用すると、これらのメソッドはバイナリ ファイル内に存在します。

以上がgo コンパイラーは、メインで使用されないパッケージをコンパイルしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート