依赖注入(dependency injection,缩写DI)是一种软件设计模型,用于实现类之间的解耦和依赖关系的管理。它通过将依赖关系的创建和维护责任转移到外部容器中,使得类不需要自己实例化依赖对象,而是由外部容器动态地注入依赖。依赖注入的实现方式包括构造函数注入、属性注入、接口注入等,每种方式都有其特定的用途和优势。修改后代码,我们把db的初始化放到了NewService的外面,在调用NewService的时候将其通过传参的方式传递过来。在Golang只使用依赖注入的核心目的,其实就是为了解耦代码。