gpt4 book ai didi

go - 如何防止变量声明和发现错误

转载 作者:数据小太阳 更新时间:2023-10-29 03:35:21 25 4
gpt4 key购买 nike

我有一个小问题,我知道它为什么会出现,但找不到解决方案。

发生的情况是我有一个变量,如果发生错误则不会使用该变量,这会导致编译器错误。

代码:

func findAll(query string) ([]Result, error) {
var res *http.Response
var err error

if res, err := http.Get("url" + url.QueryEscape(query)); err != nil {
return []Result{}, err
}

defer res.Body.Close()
var body []byte
if body, err := ioutil.ReadAll(res.Body); err != nil {
return [] Result{}, err
}

var f FilteredSearch
err = xml.Unmarshal(body, &f)
return f.Results, err
}

第一期在这一行:

if res, err := http.Get("url" + url.QueryEscape(query)); err != nil

res declared and not used

同样的问题:

if body, err := ioutil.ReadAll(res.Body); err != nil 

body declared and not used

最佳答案

您已经在文件顶部声明了这两个变量,当您使用 := 时,您正在重新声明它们。解决方案是使用 = 代替:

if res, err = http.Get("url" + url.QueryEscape(query)); err != nil {

关于go - 如何防止变量声明和发现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42675108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com