文件私有的全局变量

2024-03-28

在 GOLANG 中,有没有办法使变量的作用域成为包内文件的本地范围? 就我而言,有 2 个文件 ex1.go 和 ex02.go。 ex01.go 定义了一个全局变量

var wg sync.WaitGroup

它在该文件中的函数之间使用。

在另一个文件 ex02.go (与 ex01.go 没有关系,除了 ex01.go 和 ex02.go 属于同一类问题 - 即并发性),我无法为 waitGroup 定义变量

var wg sync.WaitGroup

我收到错误 - “变量名称在此块中重新声明”

有没有办法防止变量名称溢出到其他文件?


出于变量作用域的目的,文件在 Go 中没有任何意义。将包中的所有文件视为串联起来,这(简化的)正是编译之前发生的情况。

这意味着:不,无法将变量的范围限定到文件。

如果您需要两个全局WaitGroups,您需要将它们定义为单独的变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件私有的全局变量 的相关文章

随机推荐