我想重构一些代码使用依赖注入的Docker client library我在我的代码中使用。我创建了我希望能够在方法的接口嘲笑 错误当试图注入依赖
type DockerClient interface {
Ping(context.Context) (types.Ping, error)
}
func NewDockerUtil() (*DockerUtil, error) {
var dockerClient *DockerClient
var err error
dockerClient, err = client.NewEnvClient() //Reports incompatible types in binary and unary expressions.
if err != nil {
return nil, err
}
return &DockerUtil{
Client: dockerClient,
}, nil
}
type DockerUtil struct{
Client *DockerClient
}
但是,当我尝试分配它,我得到Reports incompatible types in binary and unary expressions.
究竟是什么,我需要改变?
使用以后再由
client.Client
支持的所有方法'DockerClient',而不是'* DockerClient' – Motakjuq@Motakjuq我”已经试过这个,但你得到了同样的错误 – sreya
我没有看到它,但'&DockerUtil {....'使用'client'而不是'dockerClient' – Motakjuq