Ich muss in der Lage sein, verschiedene Versionen einer Go-Anwendung zu erstellen; eine Debug-Version und eine normale Version.Wie verwende ich Build Tags richtig?
Dies ist einfach zu tun; Ich habe einfach eine const DEBUG, die das Verhalten der Anwendung steuert, aber es ist nervig, die Konfigurationsdatei jedes Mal zu bearbeiten, wenn ich zwischen Build-Typen wechseln muss.
ich gehen build las (http://golang.org/pkg/go/build/) und Tags, dachte ich, vielleicht könnte ich dies tun:
config.go:
// +build !debug
package build
const DEBUG = false
config.debug.go:
// +build debug
package build
const DEBUG = true
Dann sollte ich in der Lage sein, mit "go build" oder "go build -tags debug" zu bauen, und die Tags sollten config.go ausschließen und config.debug.go einschließen.
... aber das funktioniert nicht. Ich bekomme:
src/build/config.go: 3: DEBUG in diesem Block redeklariert (< 0>) vorherige Erklärung bei src/build/config.debug.go: 3
Was mache ich falsch?
Gibt es eine andere und geeignetere #ifdef Stilweise, die ich verwenden sollte?
yup danke, das war das problem; bearbeitete Frage, um weniger dumm zu sein. – Doug