我有以下代码:
主要去:
package main
import (
"fmt"
"./globalvar"
"github.com/Denton-L/gotest/usevar"
)
func main() {
globalvar.GlobalNum = 42
fmt.Println(globalvar.GlobalNum)
usevar.PrintGlobal()
}
使用变量/使用变量.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的副本。
沧海一幻觉
相关分类