Avatar ·

À quoi servent les backticks (guillemets inversés) dans la définition des structures en Go ?

Bonjour ! J'ai commencé à étudier Go et je suis tombé sur une construction peu claire. Quand je regardais des exemples de structures, j'ai remarqué qu'après les champs, il y a parfois des chaînes entre backticks : ```go type User struct { Name string `json:"name"` Age int `json:"age"` Email string `json:"email,omitempty"` } ``` Je comprends que cela a un rapport avec JSON, mais je n'arrive pas à comprendre à quoi servent exactement ces backticks et ce qu'ils font. Peut-on les omettre ? Que se passe-t-il si j'écris des guillemets ordinaires ou si je les supprime complètement ? J'ai aussi vu des enregistrements comme ceux-ci : ```go type Config struct { Port int `yaml:"port"` Host string `yaml:"host"` Timeout int `yaml:"timeout,default=30"` } ``` Et même cela : ```go type Validator struct { Name string `validate:"required,min=3,max=50"` Email string `validate:"required,email"` } ``` Il semble que le contenu entre backticks modifie le comportement du programme, mais je ne comprends pas le mécanisme. S'agit-il de chaînes magiques ? Comment Go les traite-t-il ?