reflection - 使类型指向带有反射的指针

标签 reflection go

鉴于此:

var v reflect.Value = ...

v.Type() // *model.Company

如何实例化一个新的 model.Company 并通过反射修改它的字段?

最佳答案

类似的东西:

v := reflect.ValueOf(&Company{})
t := v.Type()
c := reflect.New(t.Elem()).Elem()
c.FieldByName("Name").SetString("Reflection Inc.")
fmt.Printf("%#v\n", c.Interface())
// => main.Company{Name:"Reflection Inc."}

Playground 上的工作版本:

关于reflection - 使类型指向带有反射的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18576937/

相关文章:

java - 有没有一个库可以给我一个类在另一个类中出现的所有实例?

arrays - 将带有嵌套数组和对象的 JSON 数据解码为 Go 结构

go lang version-able 字符串规范化

c# - 在不加载它的情况下获取程序集中的字符串

c# - 任何方法到 "Safely"调用 assembly.GetTypes()?

C#在dll中调用go函数,并且在.Net Core中运行,go分配的非托管内存会被垃圾收集吗?

go - ctx.Err() vs ctx.Done() chan 关闭检查 : Is there a difference?

go - 将 [] 字符串转换为 [] 接口(interface){}

c# - 如何通过反射将枚举值传递给方法

Java 从 servlet 调用 EJB