如何在一个模块中忽略一个.go文件?

9

我正在使用 Go 重写一款我的家用程序,以前是用 Python 写的,顺便学习 Go。在重新考虑代码整个部分时,如果我可以忽略一些我编写的 .go 文件就太好了(它们会抛出编译错误,但这没关系,因为它们与我解决问题的最新方法不同步)。

我可以将它们移出目录或重命名,但我想知道是否有更符合习惯的方法来忽略模块目录中的一些 .go 文件?


这里是相关文档:https://golang.org/cmd/go/#hdr-Build_constraints - Hymns For Disco
1个回答

26

构建标签完美适合您的用例。

构建约束或称为构建标签,用于在构建过程中包含或排除软件包中的文件。通过这种方式,我们可以从相同的源代码构建不同类型的构建。

因此,如果您想从构建过程中排除文件,请为其提供不同的构建标签。例如,如果您在文件顶部使用//go:build exclude,则在执行go build时将不会包含它。请注意,exclude可以是任何单词。

有关构建标签的更多详细信息,请查看Dave Cheney的以下文章here

TLDR

在要忽略的文件顶部添加

//go:build exclude 适用于Go v1.17及以上版本

//+build exclude 适用于Go v1.17及以下版本

即可。


从go 1.17开始,您应该使用//go:build exclude - updogliu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接