你能用 Golang 反射初始化一个指针变量吗?

认为


type A struct {

   A1 int

}

var a *A

我们可以用反射初始化“a”吗?reflect.ValueOf(a).Type().Elem() 给出了类型,但似乎reflect.ValueOf(a).Elem() 是零值并且不可寻址。


精慕HU
浏览 147回答 1
1回答

ABOUTYOU

获取变量的可寻址值a:var a *A va := reflect.ValueOf(&a).Elem()分配一个新的A:v := reflect.New(va.Type().Elem())将指针分配A给新分配的变量a:va.Set(v)游乐场示例由于 Go 按值传递参数,因此无法将值设置为a以relfect.ValueOf(a).
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go