为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用反射获取字符串指针的变量名?

如何使用反射获取字符串指针的变量名?

Go
猛跑小猪 2023-06-05 18:26:04
我想通过反射获取字段名称的名称。我将字符串作为指针传递,然后我想在函数中检索变量名。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:你必须重新设计。


查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信