Бесконечные переменные l oop: создает ли массив внутри бесконечной потери памяти l oop? - PullRequest
1 голос
/ 28 апреля 2020

Код go тратит память, объявляя одну и ту же переменную массива в бесконечном l oop?

for {
    rxArr := make([]byte, 4500)
    ...
}

1 Ответ

2 голосов
/ 28 апреля 2020

Каждый l oop создаст массив размером 4500 байт. Если какие-либо ссылки сохраняются в этом массиве от итерации к итерации или за пределами -1 oop, то этот массив не будет собираться мусором. Если никакие ссылки не сохранятся, это будет сборщик мусора.

В вашем примере вы переделываете rxArr для каждой итерации, и ни одна из них не выживает от одной итерации к другой. Итак, все будет собрано.

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