参考自 Golang 编译约束/条件编译 ( // +build
对程序进行编译时,可能带一些条件(如不同平台、架构有不同的代码实现;或者debug,prod环境),让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译。 Go中,特称之为编译约束
进行编译约束的方式有2种分别:
- 编译标签(build tag)
- 文件后缀
编译标签(build tag)
下面演示一下 自定义标签:
1 | ├── go.mod |
main.go:
1 | package main |
t_dev.go:
1 | //go:build dev |
t_prod.go:
1 | //go:build prod |
Golang的条件编译参数-tags解决项目的debug模式
在很多开源项目中都有广泛使用,例如go-zero:
//go:build 和// +build指令之间有什么区别?
文件后缀
相关博客:
原文链接: https://dashen.tech/2022/11/20/Go条件编译/
版权声明: 转载请注明出处.