golang tag标签取值

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标签值: 年龄

你可能感兴趣的:(golang,标签取值)