IoC - 控制反转容器
IoC 提供依赖注入和控制反转功能。
特性
- 依赖注入
- 服务注册
- 生命周期管理
- 接口绑定
安装
bash
go get github.com/o-zoox/container快速开始
基本使用
go
package main
import (
"fmt"
"github.com/o-zoox/container"
)
type UserService interface {
GetUser(id int) string
}
type userService struct{}
func (s *userService) GetUser(id int) string {
return fmt.Sprintf("User %d", id)
}
func main() {
c := container.New()
// 注册服务
c.Bind(func() UserService {
return &userService{}
})
// 解析服务
var service UserService
c.Resolve(&service)
fmt.Println(service.GetUser(1))
}