Go DI has always been a trade-off.
Runtime DI frameworks provide a convenient API, but they rely on reflection and discover dependency problems during application startup.
Compile-time DI frameworks avoid those problems, but some APIs become verbose and less ergonomic.
I have been exploring a different approach:
dig — compile-time dependency injection for Go with an Fx-style API and Wire-style code generation.






