This question already has an answer here:
- How to access global variables 3 answers
I have the following code:
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
and I'm compiling with go build main.go
. When I run ./main
, I get
42
0
as output but I am expecting
42
42
Why is this happening?
EDIT: Note that I'm able to access the global variables but they contain unexpected values so this is not a duplicate of Golang Global Variable access.
</div>