我需要能夠構建go應用程序的不同版本;一個'調試'版本和一個正常版本。如何正確使用構建標籤?
這很容易做到;我只是有一個const DEBUG,它控制着應用程序的行爲,但是每次需要在構建類型之間進行交換時都必須編輯配置文件,這令人討厭。
我念叨去構建(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 /構建/ config.go:3:DEBUG在該塊(< 0>)以前 聲明在SRC /構建重新聲明/ config.debug.go:3
我究竟做錯了什麼?
是否有另外一種更合適的#ifdef風格的方式來做到這一點我應該使用?
喲,謝謝,那就是問題;編輯的問題不那麼愚蠢。 – Doug 2013-03-05 03:14:29