如何在Go中构建发布版本的二进制文件?
在C中,我们可以构建二进制文件的调试版本或发行版本(目标文件和可执行文件)。 我们怎么能在Go中做到这一点?
在Go中,通常不具有调试版本或发行版本。
默认情况下, go build
将符号和调试信息与二进制文件组合在一起。 但是,您可以使用go build -ldflags "-s -w"
删除符号和调试信息。
您可以指示链接器使用剥离调试符号
go install -ldflags '-s'
我只是尝试了一个相当大的可执行文件( GXUI样本之一),这将它从~16M减少到~10M。 一如既往,您的里程可能会有所不同
以下是所有链接器选项的完整列表。