for-loop - 具有更多变量的范围循环

标签 for-loop go

简短问题:

有没有办法做这样的事情?

for i := 0; key, value := range something; i++ {
    ...
}

还是我必须这样做?

i := 0

for key, value := range something {
    ...
    i++
}

已编辑:问题真实原因:

func parseData(xlFile *xlsx.File, parsed [][]string) [][]string {
    i := 0

    for _, sheet := range xlFile.Sheets {
        for _, row := range sheet.Rows {
            parsed = append(parsed, []string{})

            for _, cell := range row.Cells {
                parsed[i] = append(parsed[i], cell.String())
            }

            i++
        }
    }

    return parsed
}

我可以在第三个 for 中内联 i 声明吗?

最佳答案

你只需要在正确的地方声明var i

func parseData(xlFile *xlsx.File, parsed [][]string) [][]string {

    for _, sheet := range xlFile.Sheets {
        for i, row := range sheet.Rows {
            parsed = append(parsed, []string{})

            for _, cell := range row.Cells {
                parsed[i] = append(parsed[i], cell.String())
            }
        }
    }

    return parsed
}

你可以在这里玩https://play.golang.org/p/3XXTuwoUsFw

关于for-loop - 具有更多变量的范围循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53838256/

相关文章:

r - 在 R : Search all emails by subject line, 中,从正文中提取逗号分隔值,然后将值保存在数据框中

r - 将在 for 循环中创建的多个 ggplots 保存到单个图

python - tkinter - 将 for 循环中的按钮链接到函数字典 {name : function}

java - 当变量已经声明时,为什么我的 for 循环需要一个标识符?

go - 如何在H3库中查找给定半径(Km)处基本单元的邻居索引/单元

go - channel 在不同的 goroutine 中消费顺序

google-app-engine - 如何在 AppEngine 上的 Go 中包含第 3 方库?

java - 如果其中一个输入错误,则额外运行一次循环

mongodb - 从容器内连接到 mongoDB session

go - Gin静态文件缓存