登录
首页 >  Golang >  Go问答

Go 官方文档详细介绍了变量作用域的规则吗?

来源:stackoverflow

时间:2024-02-12 11:18:24 146浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《Go 官方文档详细介绍了变量作用域的规则吗?》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我在 go.dev 中找不到任何解释私有/全局变量和变量范围的地方。

作为一个相关问题,我正在努力尝试从 _test.go 文件导入变量。当然,这不在该文档中,但我认为与编译器有关?


正确答案


Language Specification 的不同部分详细介绍了声明和范围,有关详细信息和全面概述,请参阅 Understanding variable scope in Go

正如您在评论中提到的,您的问题是无法从 _test.go 文件导入变量。语言规范没有提到这一点,所以这是一个实现限制。

引用Command documentation: Compile packages and dependencies

编译包时,构建会忽略以“_test.go”结尾的文件。

它们仅在运行测试时使用。 Test packages:

“Go test”重新编译每个包以及名称与文件模式“*_test.go”匹配的任何文件。这些附加文件可以包含测试函数、基准测试函数和示例函数。有关更多信息,请参阅“go help testfunc”。每个列出的包都会导致执行单独的测试二进制文件。名称以“_”(包括“_test.go”)或“.”开头的文件被忽略。

声明带有后缀“_test”的包的测试文件将被编译为单独的包,然后与主测试二进制文件链接并运行。

以上就是《Go 官方文档详细介绍了变量作用域的规则吗?》的详细内容,更多关于的资料请关注golang学习网公众号!

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