在GOLANG中,是否有办法使变量的作用域在包中的文件本地?就我而言,有2个文件ex1.go和ex02.go。ex01.go定义了一个全局变量
var wg sync.WaitGroup
在该文件中的所有功能之间使用。
在另一个文件ex02.go中(除了ex01.go和ex02.go属于同一类问题(即并发性),它与ex01.go无关),我无法为waitGroup定义一个变量,如下所示:
我收到一个错误-“在此块中重新声明了变量名”
有没有一种方法可以防止变量名溢出到其他文件中?
出于可变作用域的目的,文件在Go中没有意义。可以将包中的所有文件都看作是串联在一起的,这(简化)正是编译之前发生的情况。
这意味着:不,无法将变量定义范围。
如果需要两个global WaitGroup,则需要将它们定义为单个变量。
WaitGroup