同じ名前のライブラリとバイナリ
スタンドアロン バイナリとしても機能するライブラリを設計する場合、共通の課題が発生します。ライブラリとバイナリに同じ名前を付けるのは論理的であるように見えますが、Golang ビルド システムでは異なる名前が割り当てられることがよくあります。
解決策の 1 つは、ディレクトリ構造をライブラリ用の tar ディレクトリとバイナリ用の tarbin ディレクトリに分離することです。ただし、このアプローチでは、tar ではなく tarbin というバイナリが作成されます。
より洗練された解決策は、ライブラリ ディレクトリ内にバイナリをネストすることです。
src/ tar/ tar.go # tar library tar/ main.go # tar binary
この構造は、tar という名前のバイナリを生成し、 tar という名前のライブラリ。
GitHub コンテキストでは、ディレクトリ構造
src/ github.com/ you/ tar/ tar.go # tar library tar/ main.go # tar binary
この構造により、バイナリ (go get install github.com/you/tar/tar) とライブラリ (go get install github.com/you/tar) の両方を簡単にインストールできます。 .
必要な目立つことに応じて、ライブラリとバイナリをディレクトリ構造内で交換できます。さらに、すべてのコードを 1 つのツリーに保持すると、ビルドとテストが便利になります:
go install ./... go test|fmt ./...
以上がGo ライブラリとバイナリを同じ名前でビルドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。