Nevermind. I found the error пн, 9 дек. 2019 г. в 12:30, Vasiliy Tolstov <v.tols...@selfip.ru>: > > Hi! I'm stuck at reflection based struct assignment. > > example struct > type TestStruct struct { > Slice []*string > } > > func TestReflect(t *testing.T) { > s1 := "one" > s2 := "two" > s1 := "one" > s2 := "two" > nodes := []*string{&s1, &s2} > v := &TestStruct{} > valueOf := reflectValue(v) > typeOf := reflectType(v) > > for i := 0; i < valueOf.NumField(); i++ { > field := valueOf.Field(i) > sfield := typeOf.Field(i) > > slice := reflect.MakeSlice(sfield.Type, 0, 0) > > log.Printf("field %v\n", field) > log.Printf("sfield %v\n", sfield) > log.Printf("slice %v\n", slice) > > for _, node := range nodes { > log.Printf("sfield elem %v\n", sfield.Type.Elem()) > value := reflect.New(sfield.Type.Elem()) > setVal := reflect.ValueOf(node) > log.Printf("value %v\n", value) > value.Set(setVal) > } > } > > but i'm have error > panic: reflect: reflect.flag.mustBeAssignable using unaddressable > value [recovered] > panic: reflect: reflect.flag.mustBeAssignable using unaddressable > value > > > -- > Vasiliy Tolstov, > e-mail: v.tols...@selfip.ru
-- Vasiliy Tolstov, e-mail: v.tols...@selfip.ru -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CACaajQtAa2ncNSk0b3cLO6S1OYBbEbH9%2BnxZM1FnH65mFOtcAA%40mail.gmail.com.