我想通过反射获取字段名称的名称。我将字符串作为指针传递,然后我想在函数中检索变量名。type FooBar struct {    foo *string}func bar(s *string) {    var name string    // TODO: Get name of the field that s is pointing to!    fmt.Println("Expected string is foo: " + name)}func main() {    f := Foo{"bar"}    bar(f.s)}我试着用val := reflect.ValueOf(s)然后我无法获取变量名。我应该提到我的结构中有多个字段,我事先不知道哪个字段有问题。任何帮助表示赞赏。谢谢
                    
                    
                1 回答
                            一只萌萌小番薯
                            
                                
                            
                        
                        
                                                
                    TA贡献1795条经验 获得超7个赞
你不可以做这个。
当你写的时候,f.s你所拥有的只是一个指向字符串的指针。某些结构中的某些字段恰好将 this 作为值的信息完全丢失/不可用。
我不会在这里推荐 package unsafe:你必须重新设计。
- 1 回答
 - 0 关注
 - 205 浏览
 
添加回答
举报
0/150
	提交
		取消
	