登录
首页 >  Golang >  Go问答

修复多重赋值的字节分配问题

来源:stackoverflow

时间:2024-03-15 20:27:28 138浏览 收藏

在 Go 语言中,编写一个函数处理 HTTP 请求和响应时,可能会遇到数据类型问题。当函数返回类型为字节类型(byte),但实际读取响应数据时得到的是字节切片([]byte)时,就会出现此类问题。为了解决这个问题,需要将函数的返回类型更改为字节切片,以匹配读取响应数据时获得的数据类型。

问题内容

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

首先,我是 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 响应返回原始数据


解决方案


函数的返回类型为 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
}

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>