在 Go 中,如何使用 reflect 包来设置 a 的值map
?
package main
import (
"reflect"
)
type Mapped struct {
M map[string]string
}
func main() {
m := map[string]string{"A":"VA", "B": "VB"}
mv := reflect.ValueOf(m)
mapped := Mapped{}
rv := reflect.ValueOf(mapped)
f := rv.FieldByName("M")
// f.Set(mv) doesn't work
}
Value
我看到的与地图有关的唯一方法是MapIndex
, MapKeys
, MapRange
and (如果为 nilSetMapIndex
则会出现恐慌)。map
我似乎无法设置地址,因为地图不可寻址。我不确定如何将m
上面分配给mapped.M
.
先感谢您。