aeb*_*dak 26
-tags
main_debug.go
// +build debug
package main
import (
"fmt"
)
func main() {
fmt.Println("Debug build")
}
Run Code Online (Sandbox Code Playgroud)
main_release.go
// +build !debug
package main
import (
"fmt"
)
func main() {
fmt.Println("Release build")
}
Run Code Online (Sandbox Code Playgroud)
go buildgo build -tags debug
- 如果不是很明显。您可以在这些文件中将常量声明为true或false,因为它们是互斥的。然后,您可以在if语句中使用该常数。Go将根据构建标记认识到if语句始终为true或false,并从非调试构建中删除代码,反之亦然。 (2认同)
- @JohnLeidegren 谈论的一个例子 [可以在这里找到](https://www.reddit.com/r/golang/comments/a8xb0x/conditional_compilation_and_omission_of_certain/ecenc1c/?utm_source=reddit&utm_medium=web2x&context=3) (2认同)