
Reflection
reflect package, type inspection, value manipulation, struct tags, use cases, performance
1Qu'est-ce que le package reflect en Go ?
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.
2Comment obtenir le type d'une variable avec le package reflect ?
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.).
3Quelle est la différence entre reflect.Type et reflect.Value ?
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'.
Comment modifier la valeur d'une variable via reflection ?
Qu'est-ce qu'un reflect.Kind ?
+17 questions d'entretien
Autres sujets d'entretien Go
Les bases de Go
Structures de données Go
Interfaces Go
Gestion des erreurs
Goroutines basiques
Channels
Go Modules
Serveur HTTP
Client HTTP
Encodage JSON
database/sql
Package context
Testing
Patterns de concurrence
Primitives de synchronisation
Frameworks web Go
Design d'API REST
gRPC
Gestion mémoire
Optimisation des performances
Generics
Design Patterns Go
Microservices
Sécurité & Authentication
Docker & Containerization
Kubernetes Basics
Go Avancé
Développement CLI
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