1
我試圖做到這一點:如何附加反映的切片?
type S struct {
Name string
Children []interface{}
}
func main() {
s := S{Name: "Bob", Children: []interface{}{}}
fmt.Println("%v", s)
s.Children = append(s.Children, "Tom")
fmt.Println("%v", s)
// How do I do the above line with reflect? To add "Jane"?
c := reflect.ValueOf(s).FieldByName("Children")
newSlice := reflect.Append(c, reflect.ValueOf("Jane"))
reflect.ValueOf(s).FieldByName("Children").Set(newSlice)
fmt.Println("%v", s)
}
但我得到的錯誤:
panic: reflect: reflect.Value.Set using unaddressable value
我在做什麼錯?
https://play.golang.org/p/Fwy_AAF-Ls
產品/可能重複:在golang,使用反映,你怎麼設置的值struct field?](http://stackoverflow.com/questions/6395076/in-golang-using-reflect-how-do-you-set-the-value-of-a-struct-field) – har07