Gone——golang依赖注入框架介绍
    		       		warning:
    		            这篇文章距离上次修改已过445天,其中的内容可能已经有所变动。
    		        
        		                
                Gone 是一个轻量级的 Go 语言依赖注入(DI)框架。它提供了一种简单的方法来管理和注入应用程序依赖项。
以下是一个简单的使用 Gone 的例子:
首先,定义一个接口和它的实现:
package main
 
import "fmt"
 
// 定义接口
type Greeter interface {
    Greet() string
}
 
// 实现接口
type EnglishGreeter struct{}
 
func (g EnglishGreeter) Greet() string {
    return "Hello!"
}接下来,使用 Gone 来注册和解析依赖:
package main
 
import (
    "github.com/darwinfan/gone/di"
)
 
func main() {
    // 创建容器
    container := di.NewContainer()
 
    // 注册服务
    container.RegisterType(new(Greeter), new(EnglishGreeter))
 
    // 解析服务
    greeter := container.Resolve(new(Greeter)).(Greeter)
    fmt.Println(greeter.Greet()) // 输出: Hello!
}在这个例子中,我们创建了一个新的容器,并注册了 EnglishGreeter 作为 Greeter 接口的实现。然后我们通过 Resolve 方法获取 Greeter 接口的实例,并调用它的 Greet 方法。
这个简单的例子展示了如何使用 Gone 来管理和注入依赖。
评论已关闭