Golang 在另一个包中使用未导出的变量

我正在查看golang包,并注意到此处使用的未导出变量。该变量在此处定义,但其第一个字母未大写,因此不会导出。neterrNoSuchHost

这不应该导致找不到令牌编译器错误吗?



犯罪嫌疑人X
浏览 203回答 2
2回答

翻阅古今

这两个文件位于同一包中。变量的范围不是基于每个文件,而是每个 pkg。您不能在不在同一包中的任何其他文件中使用。errNoSuchHost

慕容3067478

请注意,它们是同一软件包的一部分 -- ()。netpackage net根据Go的规格:https://golang.org/ref/spec#Declarations_and_scope表示在顶层(任何函数外部)声明的常量、类型、变量或函数(但不是方法)的标识符的作用域是包块。通过这种方式,我们知道这是在“包块”中。errNoSuchHost由于文件位于同一包中,即 ,该包中的每个文件都可以访问包块(共享)。net
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go