Golang の条件付きコンパイル
Go の条件付きコンパイルで問題が発生したとおっしゃいました。ここでは、「// build」制約と「-tags」フラグの詳細な説明と、問題の解決策を示します。
「// build」制約は、コンパイル時にどのビルド タグを使用するかをコンパイラに指示します。ファイル。あなたの例では、main1.go には「// build main1」を使用し、main2.go には「// build main2」を使用しました。これは、対応するビルド タグが指定されている場合にのみ、これらのファイルがコンパイルされることを意味します。
必要なビルド タグを使用してコードをコンパイルするには、「-tags」フラグを使用できます。たとえば、main1.go のみをコンパイルするには、次のコマンドを実行します。
$ go build -tags main1
ただし、発生しているエラーは、Go の条件付きコンパイルに重要な小さな詳細に遭遇した可能性があることを示唆しています。 「// build XXX」行の後には空行を入れる必要があります。これは明示的に文書化されていませんが、ソース コードには明らかです。
これは、空白行を含むコードの修正バージョンです。追加:
main1.go
// +build main1 package main import ( "fmt" ) func main() { fmt.Println("This is main 1") }
main2.go
// +build main2 package main import ( "fmt" ) func main() { fmt.Println("This is main 2") }
今、「go build」を実行しています-tags main1" は、予想どおり main1.go のみをコンパイルします。このルールに従うことで、Golang で条件付きコンパイルを効果的に使用して、指定されたビルド タグに基づいてファイルを選択的に含めたり除外したりできます。
以上がGo で「// build」を使用した条件付きコンパイルを正常に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。