gpt4 book ai didi

go - 为什么我的全局变量没有跨包设置?

转载 作者:数据小太阳 更新时间:2023-10-29 03:42:49 29 4
gpt4 key购买 nike

<分区>

我有以下代码:

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 的副本.

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com