在 GOLANG 中,有没有办法使变量的范围对包内的文件是本地的? 就我而言,有 2 个文件 ex1.go 和 ex02.go。 ex01.go 定义了一个全局变量
var wg sync.WaitGroup
在该文件中的函数中使用。
在另一个文件 ex02.go 中(除了 ex01.go 和 ex02.go 都属于同一类问题 - 即并发之外,它与 ex01.go 没有关系),我无法将 waitGroup 的变量定义为
var wg sync.WaitGroup
我收到一个错误 - “变量名在此 block 中重新声明”
有没有办法防止变量名溢出到其他文件?
最佳答案
出于变量作用域的目的,文件在 Go 中没有意义。将包中的所有文件视为将它们连接起来,这(简化)正是在编译之前发生的事情。
这意味着:不,没有办法将变量范围限定为文件。
如果您需要两个全局 WaitGroup
,则需要将它们定义为单独的变量。
关于go - 文件专用的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45253939/