在go包中获取make文件变量?

I have a variable VERSION in a make file that sets the version for binary at compile time using -ldflags

VERSION = $(strip $(TIMESTAMP))
LDFLAGS = -ldflags "-X main.buildTime $(BUILD_TIME) -X main.buildNumber $(VERSION)"

Now I want to get the VERSION in a package which is not main and print it. I tried bunch of options, but not able to make it work.

My question is how can I get it in the package and then print it to client at run time, such as you are connected to app version 2.0..??

Directory structure:

- main.go
- test/
  - test.go

test.go

package test

var Version = ""

main.go

package main

import (
    "fmt"
    "test"
)

func main() {
    fmt.Println(test.Version)
}

Finally, run:

go run -ldflags="-X test.Version 2.0.0" main.go

Outputs:

> 2.0.0

Since we can specify import path, we can set the value of a string everywhere, not only in main.

From go 1.5 up, syntax is changed to importpath.name=string.