type MySlice struct {
Id int64 `json:"id" desc:"序号"` //引号里的key:json、desc都称为tag(标签)
Name string `json:"name" desc:"名称"`
Age int `json:"age" desc:"年龄"`
}
func TestTag(t *testing.T) {
data := &MySlice{
Id: 1,
Name: "yzh",
Age: 18,
}
types := reflect.TypeOf(data).Elem() //反射获取类型
for i := 0; i < types.NumField(); i++ {
json := types.Field(i).Tag.Get("json")
desc := types.Field(i).Tag.Get("desc")
fmt.Print("json标签值:", json)
fmt.Println(",desc标签值:", desc)
}
}
执行结果:
json标签值:id,desc标签值: 序号
json标签值:name,desc标签值: 名称
json标签值:age,desc标签值: 年龄