我的根文件夹 (MyPackage) 上有一个 version.go。
package MyPackage
var (
Version = "undifened"
Hash = "undifined"
)
我在 MyPackage/cmd/bootloader/bootloader.go 上找到了第二个文件
package main
import(
"MyPackage"
"fmt"
)
func main() {
fmt.Println(MyPackage.Version)
}
但我在 gotype 上收到未声明的名称:MyPackage
和 “MyPackage”已导入但未用作 ext
,我不知道如何修复。
我尝试执行这个 gotype bootloader.go
并得到它。
bootloader.go:9:14: undeclared name: MyPackage
bootloader.go:4:2: "MyPackage" imported but not used as ext
如果有任何帮助,我将不胜感激。
编辑:这与 Golang Global Variable access 不同因为这会破坏那些变量的目的,因为我不想在每个 main.go 上重写它。因为我想用 -ldflags
构建 main.go 来设置变量的值。
最佳答案
如果有人有这个,在主包所在的目录上执行 go install
,使 gotype
停止吐出消息。
关于go - 如何调用在根包上声明的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43706088/