Go未用代码消除与可执行文件瘦身
    		       		warning:
    		            这篇文章距离上次修改已过437天,其中的内容可能已经有所变动。
    		        
        		                
                这个问题似乎是在询问如何在Go语言中消除未使用的代码,以及如何通过优化可执行文件来实现瘦身。
- 消除未使用的代码:Go语言提供了一个工具go fmt,它能自动格式化代码并移除未使用的变量、导入等。
go fmt -s .- 瘦身可执行文件:Go提供了一个链接时间优化(Link-time optimization)的特性,称为链接时间剔除(Link-time elimination, LTO)。要使用这个特性,需要在构建时开启它。
# 开启LTO
go build -ldflags="-linkmode=external -s -w" -gcflags="-lto=n"-ldflags 参数中的 -s -w 用于去掉符号表和调试信息,-gcflags "all=-N -l" 用于去掉编译优化,-ldflags="-linkmode=external" 用于启用外部链接模式,这样可以使用LTO。
注意:以上代码示例中的 -gcflags="-lto=n" 是关闭了编译时的LTO,如果你的环境支持并想要使用它,可以将 n 改为 b 或者 f。
评论已关闭