如何调用在根包上声明的变量

时间:2017-04-30 11:55:04

标签: go global-variables

我的根文件夹(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)
}

但是我在getype上获得undeclared name: MyPackage"MyPackage" imported but not used as 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来设置变量的值。

1 个答案:

答案 0 :(得分:1)

如果有人这样做,在主程序包所在的目录上执行go install,会使gotype停止随附的消息。