Compile-time Dependency Injection for Go
Switch branches/tags
Nothing to show
Clone or download
shantuo and zombiezen internal/wire: factor out common code in solve (#98)
- Fixed a bug when a interface is bind to a value wire would fail to record it is used.
- Also rename ProvidedType.ConcreteType to Type since it doesn't necessarily returns a concrete type.

Fixes #72
Latest commit 4243b01 Dec 14, 2018

Wire: Automated Initialization in Go

Build Status godoc Coverage Status

Wire is a code generation tool that automates connecting components using dependency injection. Dependencies between components are represented in Wire as function parameters, encouraging explicit initialization instead of global variables. Because Wire operates without runtime state or reflection, code written to be used with Wire is useful even for hand-written initialization.

For an overview, see the introductory blog post.


Install Wire by running:

go get

and ensuring that $GOPATH/bin is added to your $PATH.


Project status

This project is in alpha and is not yet suitable for production.

While in alpha, the API is subject to breaking changes.


You can contact us on the go-cloud mailing list.

This project is covered by the Go Code of Conduct.