Go アプリケーションの異なるバージョン (「デバッグ」バージョンと通常バージョン) をビルドできる必要があります。
これは簡単に実行できます。アプリケーションの動作を制御する const DEBUG を用意するだけですが、ビルド タイプを切り替える必要があるたびに構成ファイルを編集する必要があるのは面倒です。
私はgo buildについて読んでいました(http://golang.org/pkg/go/build/) とタグを使って、おそらく次のようにできると思いました:
config.go:
// +build !debug
package build
const DEBUG = false
config.debug.go:
// +build debug
package build
const DEBUG = true
go build
すると、または を使用してビルドできるようになりgo build -tags debug
、タグにはconfig.go
が含まれなくなりますconfig.debug.go
。
...しかし、これは機能しません。次のようになります:
src/build/config.go:3: このブロック (<0>) で DEBUG が再宣言されました。以前の宣言は src/build/config.debug.go:3 にあります。
何が間違っているのでしょうか?
これを行うために使用すべき別の、より適切な #ifdef スタイルの方法はありますか?
ベストアンサー1
見る別の質問に対する私の答え行の後に空白行が必要です// +build
。
また、おそらく!
config.debug.go ではなく config.go 内が必要であり、おそらく「DEBUG = false」にする必要があるでしょう。