我从“ reflect”包中的函数调用获取此返回值:
< map[string]string Value >。
< map[string]string Value >
想知道我是否可以在返回值内访问实际地图,如果可以,怎么办?
编辑:
因此,这是我在进行返回Value对象的调用的地方。它返回`[< map[string]string Value
]到我抓取该数组中的第一个对象的位置。但是,我不确定如何转换[< map[string]string Value >]`为常规地图。
到我抓取该数组中的第一个对象的位置。但是,我不确定如何转换
view_args := reflect.ValueOf(&controller_ref).MethodByName(action_name).Call(in)
使用方法Value可以将大多数反射对象转换回一个interface{}值。.Interface()
Value
interface{}
.Interface()
获取此值后,可以将其断言回所需的地图。示例(播放):
m := map[string]int{"foo": 1, "bar": 3} v := reflect.ValueOf(m) i := v.Interface() a := i.(map[string]int) println(a["foo"]) // 1
在上面的示例中,m是您的原始地图,并且v是反射值。该方法i获取的接口值Interface被断言为类型,map[string]int并且该值在最后一行中按原样使用。
m
v
i
Interface
map[string]int