¿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?