如何解决多个分配中的分配[] byte数据

时间:2019-07-04 04:51:08

标签: api http go

如何解决有关此函数数据类型的问题。

首先,我是Golang的新手,正在尝试通过一些实践来学习它。我创建了一个函数来处理请求/ GET http响应。

func connect(url, token string) (data byte) {
    var bearer = "Bearer " + token
    res, err := http.Get(url)
    res.Header.Add("Authorization", bearer)
    defer res.Body.Close()
    data, _ := ioutil.ReadAll(res.Body)

    return data
}

错误警告。

cannot assign []byte to data (type byte) in multiple assignment

我只希望函数从API响应返回原始数据

1 个答案:

答案 0 :(得分:3)

函数的返回类型为byte,而ioutil.ReadAll的返回类型为[]byte。这些类型不匹配,其中一个是字节,另一个是字节片。首先假设您要的是将data的返回类型更改为[]byte

func connect(url, token string) (data []byte) {
    var bearer = "Bearer " + token
    res, err := http.Get(url)
    res.Header.Add("Authorization", bearer)
    defer res.Body.Close()
    data, _ := ioutil.ReadAll(res.Body)

    return data
}