golang 跨平台交叉编译多平台软件

golang开发的东西天生就有跨平台的功能!这个是golang的一个优势!

golang中跨平台涉及到两个非常重要的变量:GOARCH和GOOS,自己手动弄,编辑这两个变量就行,一个代表平台类型,列入adm64,386等,一个代表是什么系统例如windows,linux,darwin!具体自己百度,这里介绍一个工具gox

gox是为golang多平台编译打包而生的一个工具,可以为golang实现多平台打包!

看命令有那些!

如果直接输入gox.exe(window上),会自动编译支持的所有平台!

是不是支持很多,这里我编译的时候,遇到了一个问题,我引用了一个包,boltdb,这个不支持很多平台,导致很多非主流平台无法编译,所以,要编译多平台,还得需要你使用的类库中也要支持多平台!

看看常用平台的编译:ldflags这个参数是去除一些调试信息的,可以减少编译后的体积