【发布时间】:2021-12-03 20:06:10
【问题描述】:
我想创建一个reflect.Value,它表示一个指向最终值的多级嵌套指针。嵌套级别在编译时是未知的。如何使用reflect 创建指向指针的指针?
在尝试创建指向指针的指针时,我已经遇到了“无法寻址的值”障碍。
dave := "It's full of stars!"
stargazer := reflect.ValueOf(&dave)
stargazer = stargazer.Addr() // panic: reflect.Value.Addr of unaddressable value
stargazer.UnsafeAddr() 等也是如此。虽然stargazer.Elem().UnsafeAddr() 等有效,但我看不出这如何帮助(递归地)创建指向指针的新非零指针...
【问题讨论】:
标签: go go-reflect