教程 go tutorial

结构体标签解析

1. 结构体标签简介

结构体字段可以添加标签,用于描述字段的元信息:

go
type User struct {
    Name  string `json:"name" db:"user_name"`
    Email string `json:"email"`
}

`

2. 通过 reflect 读取标签

go
t := reflect.TypeOf(User{})
field, _ := t.FieldByName("Name")
tag := field.Tag.Get("json")
fmt.Println("json tag:", tag)  // 输出: name

3. 应用场景

  • JSON 编码/解码控制
  • ORM 映射数据库字段
  • 表单验证与绑定

4. 读取多个标签

go
dbTag := field.Tag.Get("db")
fmt.Println("db tag:", dbTag)  // 输出: user_name

结构体标签解析使 Go 代码更灵活,支持多种框架和库的扩展。