For loop 具有更多变量的范围循环
简短问题:For loop 具有更多变量的范围循环,for-loop,go,For Loop,Go,简短问题: 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 r
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 := 0; key, value := range something; i++ {
...
}
i := 0
for key, value := range something {
...
i++
}
还是我必须这样做
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
声明吗?您只需要在正确的位置声明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
}
你可以在这里玩我不认为你可以把三部分的风格与一部分的风格结合起来。。。范围
。对于
,您可以在一个由三部分组成的中包含多个变量。前者是什么意思?@Flimzy,我正在使用第三方库读取xlsx文件,库中的文档建议使用for…范围,但我需要构建一个二维切片以将其返回到api。在后一个示例中,我使用I
在正确的位置附加到切片。顺便说一句,这不是我第一次犯这样的错误,但我不记得最后一次了。如果你要附加到一个切片,你不需要索引。-没有比现在更多的迭代。只是更简单,通过使用更合理的操作顺序来消除您的问题。这是一个很好的方法。在有人给出明确的答案之前,我更喜欢这种实现。投票通过。