Golang 可以为结构体的字段添加 tag,类似注释,用反引号``

例:

const tagName = "validate"
type employee struct {
	ID     int     `json:"id"`
	Name   string  `json:"名字" validate:"presence,min=2,max=40"`
	Age    int     `json:"年龄"`
	Desc   string  `json:"描述" back:"好看否"`
	weight float64 `json:"weight" 单位:"kg"`
	Salary float64 `json:"-"`
	Email string `validate:"email,required"`
	MateName string `json:"mate_name,omitempty"`
}

转为json类型时

zhangsan := employee{
		ID:     1,
		Name:   "张三",
		Age:    18,
		Desc:   "秀色可餐",
		weight: 48.0,
		Salary: 12.0,
		MateName:"Prince",
	}

	fmt.Println(zhangsan)
	re,_:=json.Marshal(zhangsan)
	fmt.Println(string(re))

	t:=reflect.TypeOf(zhangsan)

	fmt.Println("Type: ",t.Name())
	fmt.Println("Kind: ",t.Kind())
	fmt.Println(t.NumField())


说明:转换为json格式时,tag中