登录
首页 >  Golang >  Go问答

Golang:如何在 Golang 测试中排除特定版本

来源:stackoverflow

时间:2024-03-20 12:03:26 131浏览 收藏

在 Go 测试中,可以使用 //go:build 约束排除特定版本的 Go。该约束包含在 Go 1.16 中,并解析了原始的 “// +build” 语法和 Go 1.17 中将添加的 “//go:build” 语法。通过使用此约束,可以根据 Go 版本有条件地跳过构建和嵌入测试。这对于支持多个 Go 版本的包非常有用。

问题内容

我正在处理这个 pr(https://github.com/gin-contrib/i18n/pull/7),它使用 go 1.16 支持的嵌入包(https://tip.golang.org /doc/go1.16#library-embed)。 由于 gin-contrib/i18n 包从 go 1.13 开始支持 go 版本,所以如果 go 版本 < 1.16,我想让它跳过构建和嵌入测试。我应该怎么办?我尝试使用构建标签,例如

//go:build go1.16

但是这种方法并没有像我预期的那样工作。提前致谢。


正确答案


docs 中所述。//go:build 约束包含在 Go 1.16 中,也可以使用 // +build go1.16

这个包解析原始的“// +build”语法和Go 1.17中将添加的“//go:build”语法。该解析器包含在 Go 1.16 中,以允许需要处理 Go 1.17 源代码的工具仍然针对 Go 1.16 版本构建。有关“//go:build”语法的详细信息,请参阅 https://golang.org/design/draft-gobuild

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>