go编译器是否编译main [duplicate]中从未使用过的包

x33g5p2x  于 2023-01-06  发布在  Go
关注(0)|答案(1)|浏览(139)
    • 此问题在此处已有答案**:

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的代码?

yyyllmsg

yyyllmsg1#

二进制构建将只包括从main引用的所有符号的传递闭包。这将只包括那些来自导入包的函数和数据,以及使用的类型的所有方法。因此,如果你在包中有一个从未使用过的函数,它将不在二进制中。但是,如果你使用一个具有未使用方法的数据类型,那些方法将在二进制中。

相关问题