Цикл диапазона с большим количеством переменных - PullRequest
0 голосов
/ 18 декабря 2018

КРАТКИЙ ВОПРОС:

Есть ли способ сделать что-то подобное?

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?

1 Ответ

0 голосов
/ 19 декабря 2018

Вам просто нужно объявить 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...