GO语言有预处理器吗?当我查找互联网时,几乎没有将 *.pgo 转换为 *.go 的方法。而且,我想知道这在 Go 中是否可行
#ifdef COMPILE_OPTION
{compile this code ... }
#elif
{compile another code ...}
or,
#undef in c
实现这一目标的最接近方法是使用构建约束 https://golang.org/pkg/go/build/#hdr-Build_Constraints。例子:
main.go
package main
func main() {
println("main()")
conditionalFunction()
}
a.go
// +build COMPILE_OPTION
package main
func conditionalFunction() {
println("conditionalFunction")
}
b.go
// +build !COMPILE_OPTION
package main
func conditionalFunction() {
}
Output:
% go build -o example ; ./example
main()
% go build -o example -tags COMPILE_OPTION ; ./example
main()
conditionalFunction
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)