Avatar ·

¿Para qué sirven las comillas invertidas (backticks) en la definición de estructuras en Go?

¡Hola! Empecé a estudiar Go y me encontré con una construcción que no entiendo. Cuando veía ejemplos de estructuras, noté que después de los campos a veces hay cadenas entre comillas invertidas: ```go type User struct { Name string `json:"name"` Age int `json:"age"` Email string `json:"email,omitempty"` } ``` Entiendo que esto tiene algo que ver con JSON, pero no logro entender para qué sirven exactamente esas comillas y qué hacen. ¿Se pueden omitir? ¿Qué pasaría si uso comillas normales o las elimino por completo? También he visto registros como estos: ```go type Config struct { Port int `yaml:"port"` Host string `yaml:"host"` Timeout int `yaml:"timeout,default=30"` } ``` E incluso esto: ```go type Validator struct { Name string `validate:"required,min=3,max=50"` Email string `validate:"required,email"` } ``` Parece que el contenido entre comillas cambia el comportamiento del programa, pero no entiendo el mecanismo. ¿Son cadenas mágicas? ¿Cómo las procesa Go?