В Go dependency injection обычно делается руками — через конструкторы. Создаёшь функцию NewService(repo Repository, logger Logger) *Service, которая принимает интерфейсы. В main.go собираешь всё вместе: создаёшь конкретные реализации и передаёшь в конструкторы. Это явно, просто и не требует магии. Для больших проектов есть wire от Google — code generation для DI.
Как внедрять зависимости без фреймворка?
Middle
290 просмотровAFK Offer AI
Как мониторить Go runtime metrics?