Go 从已编译的二进制文件中读取命令行标志

Go 从已编译的二进制文件中读取命令行标志,go,Go,我创建了一个简单的程序,我在其中设置了两个标志并构建了它。如何从已编译的二进制文件中读取这些标志并设置这2个值 我试图以多种方式读取该文件,但没有找到标志值 旗子 var ( name *string version *int ) func init(){ name = flag.String("name","test", "a string") version = flag.Int("version", 1.0, "an int") } func main(

我创建了一个简单的程序,我在其中设置了两个标志并构建了它。如何从已编译的二进制文件中读取这些标志并设置这2个值

我试图以多种方式读取该文件,但没有找到标志值

旗子

var (
    name *string
    version *int
)

func init(){
    name = flag.String("name","test", "a string")
    version = flag.Int("version", 1.0, "an int")
}

func main(){
    flag.Parse()
    fmt.Println("name : ", *name)
    fmt.Println("version : ", *version)
}
梅因,加油

func main(){
    path := "/Users/____/Desktop/flag"

    dat,_ := ioutil.ReadFile(path)

    strings.Contains(string(dat),"name")

    fmt.Println("%s opened\n", dat)
}
我想从编译的二进制文件中找到标志值,并将其存储到主程序变量中。诸如此类

var flagMain=测试 var versionMain=1.0是一个运行时操作

读回嵌入值意味着所述值是在编译时嵌入的。
例如,请参见:

go build -o /tmp/versserv -ldflags "-X github.com/AgentZombie/go-embed-version/cmd.Version=foo" server/server.go
然后您可以调用二进制文件,它可以返回嵌入的值。
from中的相同想法。
这在中是自动的(再次作为示例)