被构建标签禁用的包仍然链接到二进制文件中

Packages disabled by build tags still linked into binary

我使用构建标签来禁用一项功能,例如:

来源

// +build abc
package main

import (
  "big-package"
  "bigbig"
)
...
// +build !abc

// empty

构建命令

此方法始终有效。

问题

但我发现当禁用 abc 时构建二进制文件的大小会保持很大。

是否有任何 link 选项或构建选项来解决此问题?

Build constraints

To distinguish build constraints from package documentation, a series of build constraints must be followed by a blank line.

这意味着您原始代码片段中的 // +build abc 被视为构建约束。要解决此问题,您必须在 package 子句上方添加一个空行。

// +build abc

package main

import (
  "big-package"
  "bigbig"
)
...