前言
golang默认编译出来的 可执行文件 ,一般都很大。我们有没有办法编译出体积小一些的可执行文件呢?本文带领大家学习一下利用golang编译参数和 upx 来压缩编译出的可执行文件的尺寸,大概可以缩小25%-75%之间

golang编译参数调整
我们可以给golang编译时增减ld参数,参数为-s 和 -w
示例
“`golang
go build -ldflags="-s -w" main.go
-s
Omit the symbol table and debug information.
-w
Omit the DWARF symbol table.
参考:
消减这两个参数,不会影响程序最终运行。但是可以大大减小尺寸。
UPX压缩
upx是一个二进制压缩工具,可以进一步帮助我们压缩编译出来的二进制尺寸。
可以从这个项目的 github 下载最新的upx
下载回来,可以执行 upx命令,压缩你的目标程序(例如:我的应用为gosense. exe )
upx gosense.exe
总结
你可以对比一下压缩前,压缩后的文件大小。我本地压缩效果,大概可以压缩50%左右。非常给力。