如何从Golang中的变量访问结构参数值

如何从Golang中的变量访问结构参数值,go,Go,我试图使用包含属性键的变量访问结构属性 例如,我得到了这个结构: type person struct { name string age int } 我有一个变量属性,它包含一个字符串值 我想进入一个像人的年龄。财产 您认为在golang中可能吗?如果您正在寻找类似于Python或JavaScript中的person[property]的东西,答案是否定的,golang不支持运行时的动态字段/方法选择 但您可以通过反射来实现: 这是可能的,但一个非常不寻常的要求。如果你告诉

我试图使用包含属性键的变量访问结构属性

例如,我得到了这个结构:

type person struct {
    name string
    age  int
}
我有一个变量属性,它包含一个字符串值

我想进入一个像人的年龄。财产


您认为在golang中可能吗?

如果您正在寻找类似于Python或JavaScript中的person[property]的东西,答案是否定的,golang不支持运行时的动态字段/方法选择

但您可以通过反射来实现:

这是可能的,但一个非常不寻常的要求。如果你告诉我们为什么你认为你需要这个,我们也许可以给你一个更合适的解决方案。
import (
    "fmt"
    "reflect"
)

func main() {
    type person struct {
        name string
        age  int
    }

    v := reflect.ValueOf(person{"Golang", 10})
    property := "age"
    f := v.FieldByName(property)
    fmt.Printf("Person Age: %d\n", f.Int())
}