跨平台
GOOS=linux GOARCH=amd64 go build <packageName>
条件编译
- go 不像c一样能够通过宏定义实现一个文件内部分代码的条件编译,他只支持文件级别的条件编译
- 方法一: 文件开始的编译标签
- 注意编译标签需要和包声明(package main)空一格,否则会被视为声明的注释
- 一行内的所有条件为或的关系
- 每一行之间的条件为与的关系
// +build dawin freebsd
// +build !linux
-
上面的跨平台是自动触发的,我们还可以手动触发一些条件编译
-
方法二:文件后缀
- 如果你的源文件包含后缀:$GOOS.go,那么这个源文件只会在这个平台下编译,$GOARCH.go也是如此。
- 这两个后缀可以结合在一起使用,但是要注意顺序:$GOOS$GOARCH.go, 不能反过来用:$GOARCH$GOOS.go
-
参考资料:https://blog.csdn.net/varding/article/details/12675971