```golang
type T struct {
Name string
Age int
}
func main() {
var l []T
a2s(&l)
fmt.Printf("%#v", l)
}
func a2s(s any) error {
sv := reflect.ValueOf(s).Elem()
if sv.Kind() != reflect.Ptr && sv.Type().Kind() != reflect.Slice {
return errors.New("必需是指针类型的切片")
}
svv := reflect.New(sv.Type().Elem())
svv.Elem().FieldByName("Name").SetString("A")
sv = reflect.Append(sv, svv.Elem())
return nil
}
```
想通过反射为 l 赋值,但是并不成功,请问哪里需要修改?
有疑问加站长微信联系(非本文作者)