package main
import (
"fmt"
"reflect"
)
type Foo struct {
Id int `json:"id"`
Name string `json:"name"`
}
func main(){
foo:=&Foo{
Id:1,
Name:"aa",
}
//str:="name"
t:=reflect.TypeOf(foo)
fmt.Println(t.Elem().NumField())
for i:=0;i<t.Elem().NumField();i++ {
field := t.Elem().Field(i)
fmt.Println(field.Tag.Get("json"))
}
}
func info(i interface{}) {
t := reflect.TypeOf(i)
fmt.Println("Type: ", t.Name())
v := reflect.ValueOf(i)
fmt.Println("Fields: ")
for i := 0; i < t.NumField(); i++ {
f := t.Field(i)
val := v.Field(i).Interface()
fmt.Printf("%6s: %v = %v\n",f.Name,f.Type,val)
}
}
Go 结构体Tag
最新推荐文章于 2024-04-13 08:47:51 发布