2016-10-24 2 views
1

Я начал программировать в Go, и мне было интересно, когда используется new(Object), он выделяет память на размер этого объекта? Если это так, как освободить эту память, как только я закончу использовать объект?Golang новое распределение памяти

Я прошу об этом, потому что в C++, когда new используется на объекте, вы можете delete объект, если больше не требуется хранить объект.

Я искал, есть ли у Go delete или что-то похожее на C++, но я ничего не смог найти.

Любая помощь очень ценится.

+1

В управлении памятью не должно быть ответственности разработчика, он будет делать сборщик мусора. –

ответ

3

Go имеет сбор мусора. Это означает, что проверка выполнения Go в фоновом режиме, если объект или любая другая переменная больше не используется, и если это так, освобождает память.

Смотрите также Go FAQ: Why is the syntax so different from C? - Why do garbage collection? Won't it be too expensive?

4

Как вы видите here:

Go полностью очищаться и обеспечивает фундаментальную поддержку параллельного выполнения и связи.

Поэтому вам не нужно заботиться о распределении памяти.

1

В Go, в отличие от C и C++, но, как и в Java, память управляется автоматически garbage collector.

delete позвонить.

Не по теме:

в C++, когда new используется на объекте, вы можете delete объект когда-то больше нет необходимости для объекта, подлежащих хранению.

Вы должны удалить, иначе у вас будет утечка памяти.