
Generics
Type parameters, constraints, comparable, any, generic functions, generic types, type inference
1Qu'est-ce qu'un type parameter en Go ?
Qu'est-ce qu'un type parameter en Go ?
Réponse
Un type parameter est une variable de type utilisée dans les définitions de fonctions ou de types génériques, déclarée entre crochets. Il permet de créer du code réutilisable qui fonctionne avec différents types sans sacrifier la type safety. Les type parameters sont instanciés avec des type arguments concrets lors de l'utilisation, permettant au compilateur de vérifier la cohérence des types à la compilation plutôt qu'à l'exécution.
2Quelle est la syntaxe correcte pour déclarer une fonction générique simple ?
Quelle est la syntaxe correcte pour déclarer une fonction générique simple ?
Réponse
La syntaxe correcte pour déclarer une fonction générique utilise des crochets immédiatement après le nom de la fonction pour définir les type parameters. La contrainte any permet d'accepter n'importe quel type, similaire à interface{} mais avec une sémantique plus claire dans le contexte des generics. Cette syntaxe a été introduite en Go 1.18 pour permettre la programmation générique tout en maintenant la simplicité du langage.
3Que représente la contrainte 'any' en Go ?
Que représente la contrainte 'any' en Go ?
Réponse
La contrainte any est un alias pour interface{} qui représente l'ensemble de tous les types possibles en Go. Elle permet à un type parameter d'accepter n'importe quel type sans restriction, offrant une flexibilité maximale. Bien que pratique, utiliser any signifie renoncer aux vérifications de type spécifiques et nécessite souvent des type assertions pour accéder aux méthodes ou propriétés du type sous-jacent.
Quelle est la différence principale entre 'any' et 'comparable' comme contrainte ?
Comment déclarer un type générique personnalisé comme une stack ?
+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
Reflection
Gestion mémoire
Optimisation des performances
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