Неявное алиасинг памяти в цикле for - PullRequest
3 голосов
/ 18 июня 2020

Я использую golangci-lint и получаю сообщение об ошибке в следующем коде:

versions []ObjectDescription
... (populate versions) ...

for i, v := range versions {
    res := createWorkerFor(&v)
    ...

}

ошибка:

G601: Implicit memory aliasing in for loop. (gosec)
                     res := createWorkerFor(&v)
                                            ^

Что означает «неявное сглаживание памяти in for l oop "значит, точно? Мне не удалось найти описание ошибки в документации golangci-lint. Я не понимаю эту ошибку.

1 Ответ

3 голосов
/ 20 июня 2020

Индексирование решит проблему:

for i := range versions {
    res := createWorkerFor(&versions[i])
    ...

}
...