GO语言有预处理器吗?当我查找互联网时,很少有*.pgo转换为*.go的方法.而且,我想知道Go是否可行
#ifdef COMPILE_OPTION
{compile this code ... }
#elif
{compile another code ...}
Run Code Online (Sandbox Code Playgroud)
要么,
#undef in c
Tim*_*per 21
最接近实现此目的的方法是使用构建约束.例:
main.go
package main
func main() {
println("main()")
conditionalFunction()
}
Run Code Online (Sandbox Code Playgroud)
前
// +build COMPILE_OPTION
package main
func conditionalFunction() {
println("conditionalFunction")
}
Run Code Online (Sandbox Code Playgroud)
b.go
// +build !COMPILE_OPTION
package main
func conditionalFunction() {
}
Run Code Online (Sandbox Code Playgroud)
输出:
% go build -o example ; ./example
main()
% go build -o example -tags COMPILE_OPTION ; ./example
main()
conditionalFunction
Run Code Online (Sandbox Code Playgroud)