薇娅|go也能依赖注入?进来细说( 二 )



然后在 wire_gen.go 中加入构建约束使 go build 时排除带 wireinject 标签的文件:

使用 wire.Bind wire.Value 等方法声明和组织依赖
wire 在 go generate 扫描代码时从 wire.Bind 中提取项目依赖关系并为我们生成依赖注入代码 , 那我们要怎样将依赖关系更高效 , 清晰的“告知”给 wire 呢?
wire 提供了几个函数帮助我们组织和声明项目中的依赖关系:

  • wire.Bind: 将接口和其实现进行绑定
  • wire.Value: 将值(实例)包装为依赖

  • 转自:Go语言圣经原文:https://mp.weixin.qq.com/s/plzFgg7nUthKMMgh56e-T