我想重構一些代碼使用依賴注入的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