登录
首页 >  Golang >  Go问答

Golang lint 抱怨变量未被使用,我正想办法解决

来源:stackoverflow

时间:2024-02-09 19:12:24 441浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《Golang lint 抱怨变量未被使用,我正想办法解决》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

下面是代码片段,我在其中声明了一个 for 循环并从框数组中获取索引和框。我在 if else 块中使用下面相同的索引,但是 golangci-lint 抱怨变量索引未使用

func createMap(action string, boxes []Box, ratesMap FeeMap) []RateRes {

    resp := make([]RateRes, len(boxes))

    overrideKey := fmt.Sprintf("%s-*", action)

    for index, box := range boxes {
    
        key := fmt.Sprintf("%s-%s", action, boxes.label)
        rate, hasDefault := ratesMap[key]

        if hasDefault {
            resp[index] = RateRes{
                Code:  rate.Code,
                Label: box.label,
            }
        } else { 
            resp[index] = RateRes{
                Code:  RatesMap[overrideKey].Code,
                Label: box.label,
            }
        }

    }

    return resp
}

我收到的确切错误是: 错误:已声明索引但未使用(类型检查)

请建议如何克服这个问题,这似乎不是问题。


正确答案


for loop 初始化语句中,您声明了 box 变量,并且此后的代码中未使用该变量。

for index, box := range boxes {

如果您不使用它,请删除它,然后像这样更改它。

for index := range boxes {

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Golang lint 抱怨变量未被使用,我正想办法解决》文章吧,也可关注golang学习网公众号了解相关技术文章。

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