go - 使用反射检索结构变量的注解

标签 go

在 go 中,是否可以检索结构的变量注释?考虑以下结构:

type AType struct {
    ID        string    `xml:"my_id"`
    Date      string    `xml:"creation_ts"`
}

如何使用反射检索 ID 字段的 xml:"my_id" 部分?以下将打印变量的名称、类型和值,但不打印注释

s := reflect.ValueOf(&aType).Elem()
typeOfT := s.Type()
for i := 0; i < s.NumField(); i++ {
    s.Field(i).
    f := s.Field(i)
    fmt.Printf("%d: %s %s = %v\n", i,
        typeOfT.Field(i).Name, f.Type(), f.Interface())
}

谢谢,

最佳答案

它作为 StructField.Tag 可用,所以

f.Tag

引用资料:

一个工作示例,学分 @mkopriva : https://play.golang.org/p/reY-IDCyaq

关于go - 使用反射检索结构变量的注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036010/

相关文章:

go - 扫描精确的字符数

json - 我应该如何在公共(public)库中重用结构,并更改关联的 json 字段

mongodb - 使用 mgo Golang 从 MongoDB 子文档数组中解码

multithreading - 如何测试在 goroutine 中监视文件的函数

http - 在 Go 中高效处理许多大文件的 HTTP 上传

go - 使用反射附加到结构中的 slice 字段

go - Aerospike Golang 多主机示例?

dictionary - 映射动态值类型?

go - 我怎么能从 golang 源复制一个包来破解

go - Ginkgo 测试在 goapp 测试期间挂起