为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
ibeautiful 2022-08-24 15:49:05
我正在尝试访问具有包含属性键的变量的结构属性。例如,我得到了这个结构:type person struct {     name string     age  int     }我有一个变量“属性”,其中包含一个字符串值“age”。我想用像人.财产这样的东西访问年龄?你认为它在golang中是可能的吗?
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

如果你正在寻找像你在Python或JavaScript中所做的那样的东西,答案是否定的,Golang不支持在运行时动态字段/方法选择。person[property]


但是你可以用:reflect


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())

}


查看完整回答
反对 回复 2022-08-24
  • 1 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信