करता golang का समर्थन करता हैसी शैली सशर्त संकलन
#define DEBUG
#ifdef DEBUG
fmt.Println("Debug message...");
#endif
तो मैं शून्य क्रम भूमि के ऊपर के साथ एक डिबग संस्करण का निर्माण कर सकते हैं?
करता golang का समर्थन करता हैसी शैली सशर्त संकलन
#define DEBUG
#ifdef DEBUG
fmt.Println("Debug message...");
#endif
तो मैं शून्य क्रम भूमि के ऊपर के साथ एक डिबग संस्करण का निर्माण कर सकते हैं?
गो में प्रीप्रोसेसर या मैक्रो सिस्टम नहीं है। आप -tags
ध्वज के माध्यम से निर्माण करने के लिए टैग में पास कर सकते हैं और निर्माण बाधाओं का उपयोग कर सकते हैं। ऐसा करने के लिए आपको एक ही स्रोत के दो संस्करणों की आवश्यकता होगी और टैग मौजूद होने पर या नहीं, केवल एक ही निर्माण करेगा।
में https://golang.org/pkg/go/build/
main_debug.go
// +build debug
package main
import (
"fmt"
)
func main() {
fmt.Println("Debug build")
}
main_release.go निर्माण बाधाओं पर देखो
// +build !debug
package main
import (
"fmt"
)
func main() {
fmt.Println("Release build")
}
यहाँ
go build
main_release.go साथ संकलन होगा और
go build -tags debug
main_debug.go साथ संकलन होगा
लगता है कि यह अब के लिए सबसे अच्छा अभ्यास है ... –
कड़ाई से स्पैम ओकेन संख्या कोई प्रीप्रोसेसर नहीं है, और इसलिए कोई प्रीप्रोसेसर जादू नहीं है। – lofcek
जावा में जैसे गोलांग में कोई एम्बेडेड प्रीप्रोसेसर नहीं है लेकिन जावा की तरह भी 3 वें पक्ष के समान टूल का उपयोग करना संभव है। उदाहरण के लिए मैं [जावा टिप्पणी प्रीप्रोसेसर + एमवीएन-गोलांग] (https://github.com/raydac/mvn-golang/tree/master/mvn-golang-examples/mvn-golang-examples-preprocessing) का उपयोग करता हूं और यह अच्छा बनाता है परिणाम –