1.6.7 结构体字段标签

  1. 结构体字段标签是指结构体字段的额外信息,常用于对字段进行声明

  2. 在进行json序列化以及对象关系映射时,都会用到结构体字段标签

  3. 标签信息都是静态的,无需实例化结构体,可以通过反射获取(2.4节中介绍)

  4. 标签在结构体字段后面书写,格式有一个或多个键值对组成,键值对之间用空格分隔,形式如下:

    `key1:"value1" key2:"value2"`
  5. 案例:使用反射获取结构体标签

    type Programmer struct {
    	Name string `json:"name" xml:"12"`
    }
    
    func main() {
    	var pro Programmer = Programmer{}
    	// 反射获取标签信息
    	typeOfPro := reflect.TypeOf(pro)
    	name, ok := typeOfPro.FieldByName("Name")
    	if ok {
    		// 打印标签信息
    		fmt.Println(name.Tag.Get("json"), name.Tag.Get("xml"))
    	}
    }

    结果

    name 12

Last updated