gpt4 book ai didi

go - 使用 reflect 模拟 struct.field

转载 作者:IT王子 更新时间:2023-10-29 02:20:50 25 4
gpt4 key购买 nike

当字段是接口(interface)类型时,如何使用 FieldByName 获取与 reflect.TypeOf(struct.field) 相同的值?

如图所示here ,如果结构字段是一个接口(interface),reflect.TypeOf(struct.field) 给我具体类型,但是 reflect.ValueOf(struct).FieldByName("field").Type( ) 给我界面。如果我只有 struct"field",是否可以使用 reflect 获取存储在 struct.field 中的具体类型?

最佳答案

你应该使用 Elem()

// Elem returns the value that the interface v contains

提取类型的正确方法

reflect.ValueOf(h).Elem().FieldByName("i").Elem().Type().String()

关于go - 使用 reflect 模拟 struct.field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50383490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com