Golang Dependency Injection

Go DI-guide med en projektstørrelses-beslutningstabel for manuel injektion vs. wire, dig/fx eller samber/do.

Af samber · samber/cc-skills-golang

Testet · Virker ★ 9.2/10

Golang Dependency Injection — Go DI-guide med en projektstørrelses-beslutningstabel for manuel injektion vs. wire, dig/fx eller samber/do.

Hvad det gør

Underviser i dependency injection-mønstre i Go, fra manuel constructor-injektion til biblioteksbaserede containere (google/wire, uber-go/dig+fx, samber/do), med en beslutningstabel baseret på antal services og lifecycle-behov. Trigges ved design af service-arkitektur, refaktorering af globals/init()-baseret wiring eller valg af Go DI-bibliotek, og henviser eksplicit videre til søster-skills for dybdegående gennemgang af enkelte biblioteker.

Testrapport

Fodrede det med en 4-services Go-app wired med globals og init(): skillets egen beslutningstabel (<10 services -> forbliv manuel) og 'aldrig over-engineer'-persona forhindrede svaret i reflexivt at gribe efter wire/fx, og det producerede en konkret NewXxx-constructor-refaktorering plus mock-boundary-testkode, der matchede dets dokumenterede mønster nøjagtigt.

Testet: 2026-07-13 · Claude Code 2.x (agent harness)

Installation

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

Kommandoer og eksempelprompter

  • /golang-dependency-injectionGo DI-guide med en projektstørrelses-beslutningstabel for manuel injektion vs. wire, dig/fx eller samber/do.

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Should I use wire or dig for dependency injection in this Go service
  • Help me refactor these Go globals and init() wiring into proper DI
  • What's the right DI approach for a Go project this size, manual or a library