go 反射解析结构体标签tag

package main

import (

  "fmt"
    "reflect"
 
)

type resume struct {
    Name string `info:"name" doc:"我的名字"`
    Sex string `info:"Sex"`
}
func findTag(str interface{}) {
    t := reflect.TypeOf(str).Elem()
    
    for i := 0;i<t.NumField();i++{
        tagInfo := t.Field(i).Tag.Get("info")
        tagDoc := t.Field(i).Tag.Get("doc")
        fmt.Println("info:",tagInfo,"doc:",tagDoc)
    }
}
func main() {
re := resume{}
findTag(&re)
}

posted @ 2021-03-18 08:47  hubb  阅读(259)  评论(0编辑  收藏  举报