我有以下代码:
main.go:
package main
import (
"fmt"
"./globalvar"
"github.com/Denton-L/gotest/usevar"
)
func main() {
globalvar.GlobalNum = 42
fmt.Println(globalvar.GlobalNum)
usevar.PrintGlobal()
}
usevar/usevar.go:
package usevar
import (
"fmt"
"github.com/Denton-L/gotest/globalvar"
)
func PrintGlobal() {
fmt.Println(globalvar.GlobalNum)
}
globalvar/globalvar.go:
package globalvar
var GlobalNum int
我正在用go build main.go
编译。当我运行./main
时,我得到
42
0
作为输出,但我期望
42
42
为什么会发生这种情况?
编辑:请注意,我可以访问全局变量,但它们包含意想不到的值,因此这不是Golang Global Variable access的副本。
https://stackoverflow.com/questions/54953841
复制相似问题