回答

收藏

使用反射获取结构字段的名称

技术问答 技术问答 232 人阅读 | 0 人回复 | 2023-09-11

这里打印“Foo什么方法?在这个例子中,打印了字符串。
+ F& \" i2 M' k0 {. P* Thttp://play.golang.org/p/ZnK6PRwEPp: O- u5 R- L4 \' W9 S2 s2 I
[code]type A struct    Foo string}func (a *A) PrintFoo()    fmt.Println("Foo value is "   a.Foo)}func main()    a := &A{Foo: "afoo"}    val := reflect.Indirect(reflect.ValueOf(a))    fmt.Println(val.Field(0).Type().Name()code]                * y( l. s3 D6 d$ z1 Z' e
    解决方案:                                                                3 O/ |- Z+ O: a
                                                                你要val.Type().Field(0).Name。该Field方法对reflect.Type该字段包括名称和其他信息的结构,将返回描述该字段。2 s' f& c& Q3 @6 Q+ ]
无法检索reflect.Value具体字段值的字段名称,因为它包含结构属性。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则