参考文章 控制反转(IoC)与依赖注入(DI) 指出了依赖注入可以降低程序的耦合性。能更好的拆分功能与基础设施。

那么在 golang 中又怎么实现呢?

代码地址 golang-context-ioc.go

MysqlDrivermymain.goctx := context.Background()ctxdbmysave(ctx)save()dbdb.(*MysqlDriver)mymymy.Save()

至此, context 实现了 IoC 容器的功能。