Go

Reflection

reflect package, type inspection, value manipulation, struct tags, use cases, performance

20 questions d'entretien·
Senior
1

Qu'est-ce que le package reflect en Go ?

Réponse

Le package reflect permet d'inspecter et manipuler les types et valeurs à l'exécution (runtime). Il est utilisé pour implémenter des bibliothèques génériques (marshaling JSON, ORM), mais son utilisation directe dans le code applicatif est déconseillée car elle sacrifie la sécurité des types et les performances.

2

Comment obtenir le type d'une variable avec le package reflect ?

Réponse

La fonction reflect.TypeOf() retourne un reflect.Type représentant le type dynamique de l'interface passée en argument. Si la variable est nil, reflect.TypeOf() retourne nil. Utiliser .Kind() sur le Type retourné permet d'obtenir la catégorie du type (int, string, struct, etc.).

3

Quelle est la différence entre reflect.Type et reflect.Value ?

Réponse

reflect.Type représente les métadonnées du type (nom, kind, méthodes, champs) et est obtenu via reflect.TypeOf(). reflect.Value représente la valeur concrète et permet de la lire ou la modifier via reflect.ValueOf(). Les deux sont complémentaires : Type décrit 'quoi' et Value contient 'la donnée'.

4

Comment modifier la valeur d'une variable via reflection ?

5

Qu'est-ce qu'un reflect.Kind ?

+17 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement