如何从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())
}