我正在尝试根据我从数据库获取的路径访问属性:
例如,在结构车辆中,
type Vehicle struct {
core.Model
Manufacturer Manufacturer
VehicleNumber string
.....
}
type Manufacturer struct {
ManufacturerName string
....
}
我想获取
value := exportValueFromField(vehicle,"Manufacturer.ManufacturerName")
func exportValueFromField(data interface{}, index string) string {
indexArray := strings.Split(index, ".")
r := reflect.ValueOf(data)
for _, i := range indexArray {
if r.FieldByName(i).Kind() == reflect.Struct {
r = reflect.ValueOf(r.FieldByName(i).Interface())
}else {
r = r.FieldByName(i)
}
}
return fmt.Sprintf("%v", r)
}
但它似乎不起作用
有只小跳蛙
相关分类