golang-pro
Créer des applications Go de production
La construction d'applications Go nécessite une compréhension approfondie des modèles de concurrence, des génériques et de l'architecture microservices. Cette compétence fournit un guide expert pour le développement Go 1.21+ avec des modèles idiomatiques pour les systèmes à haute performance.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "golang-pro". Créer un pool de workers concurrent avec 5 workers
Résultat attendu:
- Implémentation de code Go avec la struct WorkerPool
- Distribution des tâches basée sur les canaux
- Arrêt gracieux avec annulation du contexte
- Synchronisation WaitGroup pour la complétion des workers
Utilisation de "golang-pro". Écrire une fonction générique Map
Résultat attendu:
- Signature de fonction: func Map[T, U any](slice []T, fn func(T) U) []U
- Implémentation générique type-safe
- Exemple d'utilisation avec des types int et string
- Considérations de performance
Utilisation de "golang-pro". Concevoir une interface de stockage suivant les idiomes Go
Résultat attendu:
- Définitions d'interfaces petites et centrées
- Pattern accepter les interfaces, retourner les structs
- Exemples de composition io.Reader/Writer
- Implémentation concrète avec tests
Audit de sécurité
Risque faibleDocumentation skill with legitimate Go programming patterns. All 195 static findings are false positives triggered by code examples in markdown files. No malicious intent detected.
Problèmes à risque moyen (5)
Facteurs de risque
⚡ Contient des scripts
⚙️ Commandes externes
🌐 Accès réseau
📁 Accès au système de fichiers
🔑 Variables d’environnement
Score de qualité
Ce que vous pouvez construire
Création de services API concurrents
Concevoir et implémenter des API Go à haute performance en utilisant goroutines et canaux pour le traitement concurrent des requêtes avec une propagation de contexte appropriée.
Développement de microservices gRPC
Créer des microservices type-safe en utilisant Protocol Buffers et gRPC avec un design d'interface approprié et des modèles de gestion d'erreurs.
Optimisation des performances du code Go
Refactoriser le code Go existant pour de meilleures performances en utilisant les benchmarks, l'analyse pprof et les modèles idiomatiques.
Essayez ces prompts
Écrivez une fonction Go qui implémente [description de la fonctionnalité]. Utilisez des modèles idiomatiques Go 1.21+ avec une gestion appropriée des erreurs et du contexte.
Créez un pool de workers en Go qui traite les éléments de manière concurrente. Incluez l'arrêt gracieux, la synchronisation appropriée avec sync.WaitGroup et la gestion de l'annulation du contexte.
Écrivez une fonction générique Go avec des paramètres de type qui [description de la fonction générique]. Utilisez des contraintes appropriées du paquet constraints ou des interfaces personnalisées.
Concevez un microservice gRPC complet avec [nom du service]. Incluez les définitions protobuf, l'implémentation du serveur, les contrats d'interface et des tests table-driven avec une couverture de 80%+.
Bonnes pratiques
- Utiliser goroutines avec une gestion claire du cycle de vie et une propagation de contexte pour prévenir les fuites de goroutine
- Écrire des tests table-driven avec des sous-tests pour une couverture complète et une sortie de défaillance lisible
- Appliquer le pattern 'accepter les interfaces, retourner les structs' pour un code flexible et testable
Éviter
- Éviter de créer des goroutines sans synchronisation par canal ou sans gestion de l'annulation du contexte
- Ne pas utiliser la réflexion pour les assertions de type lorsque les type switches ou les génériques suffisent
- Ne jamais coder en dur les valeurs de configuration; utiliser des options fonctionnelles ou des variables d'environnement à la place