Overview of do features
masterThe do library is a type-safe dependency injection toolkit for Go 1.18+ that uses generics instead of code generation. Key capabilities include:
- Service Management: Registration by type or name, multiple service registration, and service aliasing (implicit or explicit).
- Invocation Modes: Supports eager, lazy, and transient loading, as well as tag-based invocation and circular dependency detection.
- Lifecycle Management: Includes health checks, graceful shutdown (dependency-aware parallel shutdown), and lifecycle hooks.
- Container & Scopes: Provides a scope (module) tree for visibility control, container cloning, service overrides, and dependency graph visualization.
- Debugging: Offers introspection via Explain APIs and a Web UI with HTTP middleware support for
std,Gin,Fiber,Echo, andChi.