简短问题:
有没有办法做这样的事情?
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
}
我可以在第三个i
中插入for
声明吗?
答案 0 :(得分:1)
您只需要在正确的位置声明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
}