Golang 实战

从入门到实战 Golang 编程语言

人数:104人 时长:12.3 小时 状态: 更新中...

当前视频需要购买后才能观看

¥ 399.00

我们将标准库 http 中的 Request 和 Response 结构做如下的封装:

type Request struct {
    Method string `json:"method"`
    URL string `json:"url"`
    Header map[string]string `json:"header"`
    Body string `json:"body,omitempty"`
    Retries int `json:"retries,omitempty"`
    Timeout int64 `json:"timeout,omitempty"`
}

type Response struct {
    StatusCode int `json:"status_code"`
    URL string `json:"url"`
    Header map[string]string `json:"header"`
    Body string `json:"body,omitempty"`
}

在我们做代码重试调用的时候,封装了如下的函数,这个函数非常重要:

func Retry(retries int, f func() error) error {
    err := f()
    if err == nil {
        return nil
    }
    if retries <=0 {
        return err
    }
    for i := 0; i< retries ; i++ {
        err = f()
        if err == nil {
            return nil
        }
    }
    return err
}
课程:Golang 实战
作者:阳明
人数:104人
时长:12.3 小时
状态: 更新中...