Golang Dependency Injection
Guida alla DI in Go con una tabella decisionale basata sulla dimensione del progetto: injection manuale vs wire, dig/fx, o samber/do.
Promosso
Cosa fa
Insegna i pattern di dependency injection in Go, dall'injection manuale via costruttore ai container basati su librerie (google/wire, uber-go/dig+fx, samber/do), con una tabella decisionale basata sul numero di servizi e sulle esigenze di lifecycle. Si attiva quando si progetta l'architettura di un servizio, si rifattorizza un wiring basato su globali/init(), o si sceglie una libreria di DI per Go, e rimanda esplicitamente agli skill fratelli specifici per libreria per gli approfondimenti.
Rapporto di test
Gli ho dato in pasto un'app Go a 4 servizi collegata con globali e init(): la tabella decisionale dello skill stesso (<10 servizi -> resta manuale) e la persona 'mai over-engineering' hanno impedito alla risposta di scattare riflessivamente verso wire/fx, e ha prodotto un refactoring concreto con costruttori NewXxx più codice di test ai confini con mock, corrispondente esattamente al pattern documentato.
Testato il: 2026-07-13 · Claude Code 2.x (agent harness)
Installazione
git clone https://github.com/samber/cc-skills-golang cd cc-skills-golang mkdir -p ~/.claude/skills cp -r skills/golang-dependency-injection ~/.claude/skills/golang-dependency-injection
Comandi e prompt di esempio
/golang-dependency-injectionGuida alla DI in Go con una tabella decisionale basata sulla dimensione del progetto: injection manuale vs wire, dig/fx, o samber/do.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Should I use wire or dig for dependency injection in this Go serviceHelp me refactor these Go globals and init() wiring into proper DIWhat's the right DI approach for a Go project this size, manual or a library