Ответ
Тег (tag) в Go используется для добавления метаданных к полям структуры. Он задается в виде строки после типа поля и позволяет:
- Управлять сериализацией (JSON, XML и др.):
type User struct {
Name string `json:"name" xml:"username"`
Age int `json:"age,omitempty"`
}
`json:"name"` указывает имя поля при кодировании в JSON.
- Валидацию (например, в библиотеках типа
validator):
type Request struct {
Email string `validate:"required,email"`
}
- ORM-маппинг (GORM, SQLx):
type Product struct {
ID uint `gorm:"primaryKey"`
}
Теги разбираются через рефлексию (reflect). Синтаксис: `key:"value"`, значения могут содержать запятые для разделения параметров.