简短问题:
有没有办法做这样的事情?
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
}
关于for-loop - 具有更多变量的范围循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53838256/