Golang结构体中的tag

本文深入探讨了结构体Tag的概念及应用,Tag作为元信息,在结构体字段后定义,通过反射读取。具体介绍了json、xml、form和binding等Tag的作用,如json用于序列化字段名,xml用于xml解析字段名,form用于参数绑定字段名,binding用于指定字段是否必须解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tag是结构体的元信息,可以在运行的时候通过反射的机制读取出来。 Tag在结构体字段的后方定义,由一对反引号包裹起来,具体的格式如下:

key1:"value1" key2:"value2"

// json数据解析和绑定
type Login struct {
	User string `form:"username" json:"user" uri:"user" xml:"user" binding:"required"`
	Password string `form:"password" json:"password" uri:"password" xml:"password" binding:"required"`
}
  1. json:是针对序列化包使用时的字段名
  2. xml:是针对xml解析包使用时的字段名
  3. form:gin包中用于参数绑定(.shouldbind())时的字段名
  4. binding :“required”,是必须要解析,若接收值为空,则报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值