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/中的构建约束
主_调试.go
// +build debug
package main
import (
"fmt"
)
func main() {
fmt.Println("Debug build")
}
main_release ase.go
// +build !debug
package main
import (
"fmt"
)
func main() {
fmt.Println("Release build")
}
Here go build
would compile with main_release ase.go and go build -tags debug
would compile with 主_调试.go