golang 编译

跨平台

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

发布了161 篇原创文章 · 获赞 19 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/winter_wu_1998/article/details/102926446