- 此问题在此处已有答案**:
How to remove unused code at compile time?(2个答案)
Splitting client/server code(1个答案)
昨天关门了。
如果我有一个go模块,它有三个包,比如A,B,C。在main. go和它的所有导入中,只有A,B包被使用过。我的问题是,go build
生成的二进制文件是否有来自包C的代码?
How to remove unused code at compile time?(2个答案)
Splitting client/server code(1个答案)
昨天关门了。
如果我有一个go模块,它有三个包,比如A,B,C。在main. go和它的所有导入中,只有A,B包被使用过。我的问题是,go build
生成的二进制文件是否有来自包C的代码?
1条答案
按热度按时间yyyllmsg1#
二进制构建将只包括从main引用的所有符号的传递闭包。这将只包括那些来自导入包的函数和数据,以及使用的类型的所有方法。因此,如果你在包中有一个从未使用过的函数,它将不在二进制中。但是,如果你使用一个具有未使用方法的数据类型,那些方法将在二进制中。