gone是可以高效开发Web服务的Golang依赖注入框架
github地址:https://github.com/gone-io/gone
文档地址:https://goner.fun/zh/
文章目录
优化和新特性
gone 核心功能增强
-
重构了函数参数依赖注入
在Cemetery上提供了InjectFuncParameters方法,用于完成函数参数的依赖注入。该方法的定义如下:
InjectFuncParameters( fn any, injectBefore func(pt reflect.Type, i int) any, injectAfter func(pt reflect.Type, i int), ) (args []reflect.Value, err error)- 入参说明:
- fn,需要被注入的函数;函数允许拥有多个入参,入数可以是Gone框架中注册的接口或者结构体指针,也可以为被
gone标记了属性的结构体,一般使用匿名结构体; - injectBefore,hook函数,在对第i个参数构造前调用,如果
injectBefore(x, i)返回值非nil,InjectFuncParameters将不再构造fn函数的第i个参数,而是将该值的reflect.Value直接作为args数组的第i个值; - injectAfter,hook函数,在对第i个参数成功构造后调用;
- fn,需要被注入的函数;函数允许拥有多个入参,入数可以是Gone框架中注册的接口或者结构体指针,也可以为被
- 出参说明
- args,fn参数的
reflect.Value数组 - err,函数构造返回的错误
- args,fn参数的
- 功能说明:
- 入参说明:

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



