相关疑难解决方法(0)

如何在编译时删除未使用的代码?

我们已经构建了一个我们很多人都使用的Go包.

它是使用标准import ("package-name")方法导入的.

但是在编译时,我们所有的实用程序,包括非常小的实用程序,最终都是非常大的二进制文件.

我们已经提取了实用程序中的所有字符串,并发现整个包正在编译到每个实用程序中.包括那些实用程序未使用的函数.

编辑1:

感谢回答这个问题的人们.

这是我们所看到的:

main.go

package main

import "play/subplay"

func main() {
    subplay.A()
}
Run Code Online (Sandbox Code Playgroud)

播放/ subplay.go

package subplay

func A() {
    fmt.Printf("this is function A()")
}

func B() {
    fmt.Printf("secret string")
}
Run Code Online (Sandbox Code Playgroud)

函数B()永远不会被调用.然而,在构建二进制文件之后,我们在main.exe中找到字符串"secret string".

如何在编译时从Go程序中删除未使用的代码?

compilation go compiler-optimization

3
推荐指数
1
解决办法
1695
查看次数

标签 统计

compilation ×1

compiler-optimization ×1

go ×1