Golang 反射 : passing a sturct member variable to a function and return its tag name

标签 go reflection

   type Teacher struct {
     Name string `json:"name"`
     Age int `json:"age"`
   }


   func getTag(i interface{}) string

   getTag(teacher.Name) // print name
   getTag(teacher.Age) // print age

我想像代码段一样滚动我的函数,但我找不到实现此目的的方法。有什么想法吗?

最佳答案

也许这会有所帮助。 https://play.golang.org/p/WtqdQAmsbi

x := struct {
    Bar int `json:"bar"`
    Foo string `json:"foo"`

}{2, "foo"}

v := reflect.ValueOf(x)

for i := 0; i < v.NumField(); i++ {
    fmt.Println(v.Type().Field(i).Name)
    fmt.Println(v.Type().Field(i).Tag)
}

获取结构字段的名称及其标签

关于Golang 反射 : passing a sturct member variable to a function and return its tag name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40879295/

相关文章:

java - 为什么 Java 在涉及有界泛型时声称有 2 个声明的方法?

performance - Go http 服务器基准测试性能慢

go - 在 Golang 中将 int 数组转换为字节数组

go - undefined reference to error 仅针对某些函数

c++ - 在C++ {fmt}中格式化琐碎结构的扩展计划?

java - 一种使用字符串创建新类的方法

c# - 反射找不到嵌套类型的 protected 字段

java - 在构造函数本身内部获取反射构造函数

go - json.Unmarshal 在进行 curl 调用时不填充结构

go - 如何按顺序将字符串输入输入 bufio.Scanner 和 fmt.Scanln?