如何在Go中构建发布版本的二进制文件?

在C中,我们可以构建二进制文件的调试版本或发行版本(目标文件和可执行文件)。 我们怎么能在Go中做到这一点?

在Go中,通常不具有调试版本或发行版本。

默认情况下, go build将符号和调试信息与二进制文件组合在一起。 但是,您可以使用go build -ldflags "-s -w"删除符号和调试信息。

您可以指示链接器使用剥离调试符号

 go install -ldflags '-s' 

我只是尝试了一个相当大的可执行文件( GXUI样本之一),这将它从~16M减少到~10M。 一如既往,您的里程可能会有所不同

以下是所有链接器选项的完整列表。