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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值